mirror of
https://github.com/tiagovignatti/intel-gpu-tools.git
synced 2025-06-12 10:26:12 +00:00
stats: Add gtkdoc section for igt_stats
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
This commit is contained in:
parent
087a8d1c63
commit
a2f6fd3725
@ -17,6 +17,7 @@
|
|||||||
<title>API Reference</title>
|
<title>API Reference</title>
|
||||||
<xi:include href="xml/drmtest.xml"/>
|
<xi:include href="xml/drmtest.xml"/>
|
||||||
<xi:include href="xml/igt_core.xml"/>
|
<xi:include href="xml/igt_core.xml"/>
|
||||||
|
<xi:include href="xml/igt_stats.xml"/>
|
||||||
<xi:include href="xml/igt_debugfs.xml"/>
|
<xi:include href="xml/igt_debugfs.xml"/>
|
||||||
<xi:include href="xml/igt_draw.xml"/>
|
<xi:include href="xml/igt_draw.xml"/>
|
||||||
<xi:include href="xml/igt_kms.xml"/>
|
<xi:include href="xml/igt_kms.xml"/>
|
||||||
|
@ -28,6 +28,49 @@
|
|||||||
#include "igt_core.h"
|
#include "igt_core.h"
|
||||||
#include "igt_stats.h"
|
#include "igt_stats.h"
|
||||||
|
|
||||||
|
/**
|
||||||
|
* SECTION:igt_stats
|
||||||
|
* @short_description: Tools for statistical analysis
|
||||||
|
* @title: Stats
|
||||||
|
* @include: igt_stats.h
|
||||||
|
*
|
||||||
|
* Various tools to make sense of data.
|
||||||
|
*
|
||||||
|
* #igt_stats_t is a container of data samples. igt_stats_push() is used to add
|
||||||
|
* new samples and various results (mean, variance, standard deviation, ...)
|
||||||
|
* can then be retrieved.
|
||||||
|
*
|
||||||
|
* |[
|
||||||
|
* igt_stats_t stats;
|
||||||
|
*
|
||||||
|
* igt_stats_init(&stats, 8);
|
||||||
|
*
|
||||||
|
* igt_stats_push(&stats, 2);
|
||||||
|
* igt_stats_push(&stats, 4);
|
||||||
|
* igt_stats_push(&stats, 4);
|
||||||
|
* igt_stats_push(&stats, 4);
|
||||||
|
* igt_stats_push(&stats, 5);
|
||||||
|
* igt_stats_push(&stats, 5);
|
||||||
|
* igt_stats_push(&stats, 7);
|
||||||
|
* igt_stats_push(&stats, 9);
|
||||||
|
*
|
||||||
|
* printf("Mean: %lf\n", igt_stats_get_mean(&stats));
|
||||||
|
*
|
||||||
|
* igt_stats_fini(&stats);
|
||||||
|
* ]|
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* igt_stats_init:
|
||||||
|
* @stats: An #igt_stats_t instance
|
||||||
|
* @capacity: Number of data samples @stats can contain
|
||||||
|
*
|
||||||
|
* Initializes an #igt_stats_t instance to hold @capacity samples.
|
||||||
|
* igt_stats_fini() must be called once finished with @stats.
|
||||||
|
*
|
||||||
|
* We currently assume the user knows how many data samples upfront and there's
|
||||||
|
* no need to grow the array of values.
|
||||||
|
*/
|
||||||
void igt_stats_init(igt_stats_t *stats, unsigned int capacity)
|
void igt_stats_init(igt_stats_t *stats, unsigned int capacity)
|
||||||
{
|
{
|
||||||
memset(stats, 0, sizeof(*stats));
|
memset(stats, 0, sizeof(*stats));
|
||||||
@ -37,11 +80,24 @@ void igt_stats_init(igt_stats_t *stats, unsigned int capacity)
|
|||||||
stats->capacity = capacity;
|
stats->capacity = capacity;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* igt_stats_fini:
|
||||||
|
* @stats: An #igt_stats_t instance
|
||||||
|
*
|
||||||
|
* Frees resources allocated in igt_stats_init().
|
||||||
|
*/
|
||||||
void igt_stats_fini(igt_stats_t *stats)
|
void igt_stats_fini(igt_stats_t *stats)
|
||||||
{
|
{
|
||||||
free(stats->values);
|
free(stats->values);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* igt_stats_push:
|
||||||
|
* @stats: An #igt_stats_t instance
|
||||||
|
* @value: An integer value
|
||||||
|
*
|
||||||
|
* Adds a new value to the @stats dataset.
|
||||||
|
*/
|
||||||
void igt_stats_push(igt_stats_t *stats, uint64_t value)
|
void igt_stats_push(igt_stats_t *stats, uint64_t value)
|
||||||
{
|
{
|
||||||
igt_assert(stats->n_values < stats->capacity);
|
igt_assert(stats->n_values < stats->capacity);
|
||||||
@ -77,6 +133,12 @@ static void igt_stats_knuth_mean_variance(igt_stats_t *stats)
|
|||||||
stats->mean_variance_valid = true;
|
stats->mean_variance_valid = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* igt_stats_get_mean:
|
||||||
|
* @stats: An #igt_stats_t instance
|
||||||
|
*
|
||||||
|
* Retrieves the mean of the @stats dataset.
|
||||||
|
*/
|
||||||
double igt_stats_get_mean(igt_stats_t *stats)
|
double igt_stats_get_mean(igt_stats_t *stats)
|
||||||
{
|
{
|
||||||
igt_stats_knuth_mean_variance(stats);
|
igt_stats_knuth_mean_variance(stats);
|
||||||
@ -84,6 +146,12 @@ double igt_stats_get_mean(igt_stats_t *stats)
|
|||||||
return stats->mean;
|
return stats->mean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* igt_stats_get_variance:
|
||||||
|
* @stats: An #igt_stats_t instance
|
||||||
|
*
|
||||||
|
* Retrieves the variance of the @stats dataset.
|
||||||
|
*/
|
||||||
double igt_stats_get_variance(igt_stats_t *stats)
|
double igt_stats_get_variance(igt_stats_t *stats)
|
||||||
{
|
{
|
||||||
igt_stats_knuth_mean_variance(stats);
|
igt_stats_knuth_mean_variance(stats);
|
||||||
@ -91,6 +159,12 @@ double igt_stats_get_variance(igt_stats_t *stats)
|
|||||||
return stats->variance;
|
return stats->variance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* igt_stats_get_std_deviation:
|
||||||
|
* @stats: An #igt_stats_t instance
|
||||||
|
*
|
||||||
|
* Retrieves the standard deviation of the @stats dataset.
|
||||||
|
*/
|
||||||
double igt_stats_get_std_deviation(igt_stats_t *stats)
|
double igt_stats_get_std_deviation(igt_stats_t *stats)
|
||||||
{
|
{
|
||||||
igt_stats_knuth_mean_variance(stats);
|
igt_stats_knuth_mean_variance(stats);
|
||||||
|
@ -27,10 +27,17 @@
|
|||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* igt_stats_t:
|
||||||
|
* @values: An array containing the pushed values
|
||||||
|
* @n_values: The number of pushed values
|
||||||
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint64_t *values;
|
uint64_t *values;
|
||||||
unsigned int capacity;
|
|
||||||
unsigned int n_values;
|
unsigned int n_values;
|
||||||
|
|
||||||
|
/*< private >*/
|
||||||
|
unsigned int capacity;
|
||||||
unsigned int mean_variance_valid : 1;
|
unsigned int mean_variance_valid : 1;
|
||||||
double mean, variance;
|
double mean, variance;
|
||||||
} igt_stats_t;
|
} igt_stats_t;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user