Comments (5)
Thank you, @ofeka !
You are absolutely right, and yes, I am currently working on addressing this. My plan is to add the following:
-
Expose Prometheus metrics
This would enable using Prometheus to collect metrics from multiple app nodes, storing them in Prometheus db, and then aggregate and query over time, and set up alerts. And using Grafana to visualize, set up dashboards.
This is well underway - latest code already provides metrics via /swagger-stats/metrics API endpoint.
so I expect this to be included it in the next npm release shortly.
Tracking in #9 -
Support storing detailed record about each request / response in Elasticsearch.
The data you can currently see in last errors details, or longest request details, will be stored in Elasticsearch, one document per each request/response, including hostname/node name. With this, it would be possible to use Elasticsearch to aggregate and analyze API usage across app nodes and over time with great level of details, and use Kibana to visualize.
Overall, my thinking is to address all of these 3 levels of monitoring:
- Out-of-the box telemetry - enabling swagger-stats allows to start monitoring on individual nodes right away, with no infrastructure requirements.
- Prometheus metrics and Grafana dashboards - enables monitoring and alerting over time and over multiple nodes / microservices
- Storing API request/response records in Elasticearch - enables detailed analytics on API telemetry
Would appreciate your feedback !
from swagger-stats.
All this sounds really great, couldn't agree more.
from swagger-stats.
this will be addressed by:
#9
#12
from swagger-stats.
#12 addressed in v0.95.0
from swagger-stats.
good
from swagger-stats.
Related Issues (20)
- unit tests fail at [email protected] HOT 4
- How to make the data persist? HOT 1
- URL Normalization and 404 count consolidation by config option without requiring swagger apiSpec HOT 1
- how to customize metrics
- problem
- feat
- Hope to support a new feature
- DEBUG env is being overridden by `lib/swsElasticEmitter.js`
- 0.99.7 HOT 1
- where is the file "swagger.json" ? HOT 1
- Error on routes with wildcards
- Support prom-client 15
- Issue with Basic Auth when connecting the Endpoint to Grafana cloud HOT 2
- ReferenceError: that is not defined
- How to implement it in a production environment? HOT 1
- Error in tests when updating to 0.99.7
- Native Fastify plugin
- Issue in authentication in case of a multi-instance environment
- Issues with Requests to the root route (/)
- ReferenceError: that is not defined 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 swagger-stats.