prometheus-fastapi-instrumentator icon indicating copy to clipboard operation
prometheus-fastapi-instrumentator copied to clipboard

Running custom metrics in background

Open BohdanKaminskyi opened this issue 1 year ago • 5 comments

Hey there, from the README.md I understand that if ".add()" method is not used, default metrics are executed in the background. What I'm trying to do - is to execute also custom metrics in background.

Is it possible?

BohdanKaminskyi avatar Aug 16 '23 11:08 BohdanKaminskyi

Hi Bohdan, when you say custom metrics, do you mean additional "instrumentation functions" or just any Prometheus metric like a counter unrelated to PFI?

In any case both is possible.

For 1., the default set of instrumention metrics for PFI is in a dedicated function. So you can add both, the default set and additional functions, with add().

For 2., it should just work. PFI uses the official prometheus library under the hood.

trallnag avatar Aug 17 '23 06:08 trallnag

@trallnag Thx for the answer, would you mind answering one more question?:) I need to increase counter value basically in one of my endpoints. But I'm not sure how to register that counter without closure. I mean, in examples, the counter lives in closure, and only accessible from it, but that way I cannot use it from endpoint

BohdanKaminskyi avatar Aug 17 '23 07:08 BohdanKaminskyi

Accessing metrics defined within these closures is not possible from endpoint functions, I'm afraid. At least to my knowledge. Why do you want to access it from endpoint?

Can't you define the metric yourself somewhere outside the endpoint and reference it then? Basically not using PFI and just using prometheus client library?

trallnag avatar Aug 17 '23 10:08 trallnag

I'm trying to do so, and it looks like PFI still adds this metric into metrics endpoint (that's good:))

BohdanKaminskyi avatar Aug 17 '23 11:08 BohdanKaminskyi

@BohdanKaminskyi can you provide this as an example?

EasyAsABC123 avatar Jun 27 '24 22:06 EasyAsABC123