libprom  @VERSION@
C based libraries to expose metrics in Promtheus exposition format
Typedefs | Functions
prom/include/prom_counter.h File Reference

https://prometheus.io/docs/concepts/metric_types/#counter More...

#include <stdlib.h>
#include "prom_metric.h"
Include dependency graph for prom_counter.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef prom_metric_t prom_counter_t
 Prometheus metric: counter.

Functions

prom_counter_tprom_counter_new (const char *name, const char *help, size_t label_key_count, const char **label_keys)
 Construct a new metric of type counter (or short: counter).
int prom_counter_destroy (prom_counter_t *self)
 Destroys the given counter.
int prom_counter_inc (prom_counter_t *self, const char **label_values)
 Increment the given counter by 1.
int prom_counter_add (prom_counter_t *self, double r_value, const char **label_values)
 Add the value to the give counter.
int prom_counter_reset (prom_counter_t *self, double r_value, const char **label_values)
 Reset the given counter to the given value.

Detailed Description

https://prometheus.io/docs/concepts/metric_types/#counter


Typedef Documentation

Prometheus metric: counter.

References * See https://prometheus.io/docs/concepts/metric_types/#counter


Function Documentation

int prom_counter_add ( prom_counter_t self,
double  r_value,
const char **  label_values 
)

Add the value to the give counter.

Parameters:
selfWhere to add the value.
r_valueValue to add. MUST be >= 0.
label_valuesThe label values associated with the counter sample being updated. The number of labels must match the value passed as label_key_count in the counter's constructor. If no label values are necessary, pass NULL. Otherwise, it may be convenient to pass this value as a literal.
Returns:
A non-zero integer value upon failure, 0 otherwise.

*Example*

// An example with labels prom_counter_add(foo_counter, 22, (const char**) { "bar", "bang" });

// An example without labels prom_counter_add(foo_counter, 22, NULL);

Destroys the given counter.

Parameters:
selfCounter to destroy.
Returns:
A non-zero integer value upon failure, 0 otherwise.
Note:
No matter what gets returned, you should never use any metric passed to this function but set it to NULL .
int prom_counter_inc ( prom_counter_t self,
const char **  label_values 
)

Increment the given counter by 1.

Parameters:
selfcounter to increment.
label_valuesThe label values associated with the counter sample being updated. The number of labels must match the value passed as label_key_count in the counter's constructor. If no label values are necessary, pass NULL. Otherwise, it may be convenient to pass this value as a literal.
Returns:
A non-zero integer value upon failure, 0 otherwise.

*Example*

// An example with labels prom_counter_inc(foo_counter, (const char**) { "bar", "bang" });

// An example without labels prom_counter_inc(foo_counter, NULL);

prom_counter_t* prom_counter_new ( const char *  name,
const char *  help,
size_t  label_key_count,
const char **  label_keys 
)

Construct a new metric of type counter (or short: counter).

Parameters:
nameName of the counter.
helpShort counter description.
label_key_countThe number of labels associated with the given counter. Pass 0 if the counter does not require labels.
label_keysA collection of label keys. The number of keys MUST match the value passed as label_key_count. If no labels are required, pass NULL. Otherwise, it may be convenient to pass this value as a literal.
Returns:
The new prom counter on success, NULL otherwise.

*Example*

// An example with labels prom_counter_new("foo", "foo is a counter with labels", 2, (const char**) { "one", "two" });

// An example without labels prom_counter_new("foo", "foo is a counter without labels", 0, NULL);

int prom_counter_reset ( prom_counter_t self,
double  r_value,
const char **  label_values 
)

Reset the given counter to the given value.

Parameters:
selfWhere to set the given value.
r_valueValue to set. MUST be >= 0.
label_valuesThe label values associated with the counter sample being updated. The number of labels must match the value passed as label_key_count in the counter's constructor. If no label values are necessary, pass NULL. Otherwise, it may be convenient to pass this value as a literal.
Returns:
A non-zero integer value upon failure, 0 otherwise.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines