Comments (3)
Hey @codyflynnNC, I'd prefer not to include a metric_namespace
attribute in the instrumentation
module. The idea is to separate the actual definition of the metrics (here) and the instrumentation (here)that gets data from FastAPI. If we add metric_namespace
a user would assume that it will be respected by all functions you can find in the metrics
module which is not the case.
If you want to set the namespace go for:
instrumentator.add(metrics.default(metric_namespace="name_space"))
Or add your own function instead which gives you more control. If you have other questions I'm happy to help
from prometheus-fastapi-instrumentator.
So after looking through the source code, it seems the default instrument function:
if len(self.instrumentations) == 0: self.instrumentations.append(metrics.default())
while the instantiation of the class does not take in instrumentation args. I'd propose a change to the instantation of the class to take in the namepsace arg, then pass that into if len(self.instrumentations) == 0: self.instrumentations.append(metrics.default(metric_namespace=self.metric_namespace))
if this makes sense im happy to create a PR
from prometheus-fastapi-instrumentator.
Thanks for the quick response. that works perfectly. I'll close this issue.
from prometheus-fastapi-instrumentator.
Related Issues (20)
- Adding metrics from routers HOT 2
- Running custom metrics in background HOT 4
- Inprogress requests causes duplicated prometheus timeseries error
- labels on highr bucket default metrics
- Having metrics values even with no endpoints activity HOT 1
- Not full metrics list HOT 1
- FastAPI app with many routers HOT 3
- Instrumentator middleware includes BackgroundTask duration in http request latency metrics
- How to properly initialize modified_status when throwing exception
- Default metrics are gone when adding a custom instrumentation HOT 3
- Allow for custom dynamic labels on default metrics HOT 1
- Remove FastAPI in favor of Starlette HOT 3
- Upgrade fastapi version to support >100.0 HOT 5
- Metrics disappear when setting PROMETHEUS_MULTIPROC_DIR HOT 1
- Security Concern HOT 3
- Inprogress metrics ignore namespace and subsystem
- Setting the `PROMETHEUS_MULTIPROC_DIR` is not mentioned in the docs
- Instrument latency without streaming duration HOT 1
- FastAPI ^0.110 and on_event HOT 2
- Incorrect http_requests_total with multiple Middleware HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from prometheus-fastapi-instrumentator.