@@ -1151,6 +1151,7 @@ static const char *oidc_metric_prometheus_normalize_name(apr_pool_t *pool, const
11511151
11521152#define OIDC_METRICS_PROMETHEUS_SERVER "server_name"
11531153#define OIDC_METRICS_PROMETHEUS_BUCKET "bucket"
1154+ #define OIDC_METRICS_PROMETHEUS_SPEC "value"
11541155
11551156typedef struct oidc_metric_prometheus_callback_ctx_t {
11561157 char * s_result ;
@@ -1178,15 +1179,13 @@ int oidc_metrics_prometheus_counters(void *rec, const char *key, const char *val
11781179 while (iter2 ) {
11791180 s_spec = json_object_iter_key (iter2 );
11801181 j_spec = json_object_iter_value (iter2 );
1181- if (_oidc_strcmp (OIDC_METRICS_SPEC_DEFAULT , s_spec ) == 0 ) {
1182- s_text = apr_psprintf (ctx -> pool , "%s%s{%s=\"%s\"} %s\n" , s_text , s_label ,
1183- OIDC_METRICS_PROMETHEUS_SERVER , s_server ,
1184- _json_int2str (ctx -> pool , json_integer_value (j_spec )));
1185- } else {
1186- s_text = apr_psprintf (ctx -> pool , "%s%s{%s=\"%s\",value=\"%s\"} %s\n" , s_text , s_label ,
1187- OIDC_METRICS_PROMETHEUS_SERVER , s_server , s_spec ,
1188- _json_int2str (ctx -> pool , json_integer_value (j_spec )));
1189- }
1182+ s_text = apr_psprintf (ctx -> pool , "%s%s{%s=\"%s\"" , s_text , s_label ,
1183+ OIDC_METRICS_PROMETHEUS_SERVER , s_server );
1184+ if (_oidc_strcmp (OIDC_METRICS_SPEC_DEFAULT , s_spec ) != 0 )
1185+ s_text = apr_psprintf (ctx -> pool , "%s,%s=\"%s\"" , s_text , OIDC_METRICS_PROMETHEUS_SPEC ,
1186+ s_spec );
1187+ s_text = apr_psprintf (ctx -> pool , "%s} %s\n" , s_text ,
1188+ _json_int2str (ctx -> pool , json_integer_value (j_spec )));
11901189 iter2 = json_object_iter_next (j_specs , iter2 );
11911190 }
11921191 iter1 = json_object_iter_next (o_counter , iter1 );
@@ -1217,16 +1216,14 @@ int oidc_metrics_prometheus_timings(void *rec, const char *key, const char *valu
12171216 s_key = json_object_iter_key (iter3 );
12181217 j_member = json_object_iter_value (iter3 );
12191218 s_bucket = oidc_metrics_prometheus_bucket_label (s_key );
1220- if (s_bucket ) {
1221- s_text = apr_psprintf (ctx -> pool , "%s%s_%s{%s,%s=\"%s\"} %s\n" , s_text , s_label ,
1222- OIDC_METRICS_PROMETHEUS_BUCKET , s_bucket ,
1223- OIDC_METRICS_PROMETHEUS_SERVER , s_server ,
1224- _json_int2str (ctx -> pool , json_integer_value (j_member )));
1225- } else {
1226- s_text = apr_psprintf (ctx -> pool , "%s%s_%s{%s=\"%s\"} %s\n" , s_text , s_label , s_key ,
1227- OIDC_METRICS_PROMETHEUS_SERVER , s_server ,
1228- _json_int2str (ctx -> pool , json_integer_value (j_member )));
1229- }
1219+ if (s_bucket )
1220+ s_text = apr_psprintf (ctx -> pool , "%s%s_%s{%s," , s_text , s_label ,
1221+ OIDC_METRICS_PROMETHEUS_BUCKET , s_bucket );
1222+ else
1223+ s_text = apr_psprintf (ctx -> pool , "%s%s_%s{" , s_text , s_label , s_key );
1224+
1225+ s_text = apr_psprintf (ctx -> pool , "%s%s=\"%s\"} %s\n" , s_text , OIDC_METRICS_PROMETHEUS_SERVER ,
1226+ s_server , _json_int2str (ctx -> pool , json_integer_value (j_member )));
12301227 iter3 = json_object_iter_next (j_timing , iter3 );
12311228 }
12321229 iter1 = json_object_iter_next (o_timer , iter1 );
0 commit comments