summaryrefslogtreecommitdiff
path: root/src/prometheus_output.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/prometheus_output.cpp')
-rw-r--r--src/prometheus_output.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/prometheus_output.cpp b/src/prometheus_output.cpp
index 2b605e8..a4e4d88 100644
--- a/src/prometheus_output.cpp
+++ b/src/prometheus_output.cpp
@@ -129,14 +129,14 @@ static void prometheus_output_uri_list(struct prometheus_endpoint_instance *prom
static int prometheus_output_read_metric_tags(struct metric *metric, char *instance_name, char *tags_buf, unsigned int size)
{
int i = 0;//used_len = 0;
- char unescape[STR_LEN_256] = {0};
+ char unescape[256] = {0};
int used_len = 0;
used_len += snprintf(tags_buf + used_len, size - used_len, "app_name=\"%s\"", instance_name);
if(metric->table)
{
- used_len += snprintf(tags_buf + used_len, size - used_len, ",line_name=\"%s\"", metric->field_name);
+ used_len += snprintf(tags_buf + used_len, size - used_len, ",table_name=\"%s\",line_name=\"%s\"", metric->table->name, metric->field_name);
}
for(i = 0; i < (int)metric->n_tag; i++)
@@ -322,7 +322,9 @@ static int prometheus_get_instance_metric_playload(struct fieldstat_instance *in
{
case FIELD_TYPE_COUNTER:
case FIELD_TYPE_GAUGE:
- value = get_metric_unit_val(metric, FS_CALC_CURRENT, 1);
+ instance->output_type == 1
+ ?value = get_metric_unit_val(metric, FS_CALC_CURRENT, 0)
+ :value = get_metric_unit_val(metric, FS_CALC_CURRENT, 1);
append_offset += snprintf(new_payload + append_offset,
new_payload_size - append_offset,
"%s{%s} %lld\n",
@@ -443,6 +445,7 @@ int fieldstat_enable_prometheus_output(struct fieldstat_instance *instance)
fs_instance_id = g_prometheus_endpoint_instance.fs_instance_cnt++;
g_prometheus_endpoint_instance.fs_instance[fs_instance_id] = instance;
+ instance->output_type |= 1;
return 0;
}