Comments (2)
As a side note, using ngx.var.uri
of a publicly available site as a metric label directly is not a great idea, since you basically allow anyone on the internet to increase your metric cardinality. Please see the following discussions for more detail:
from nginx-lua-prometheus.
Thanks a lot for the detailed report!
We currently escape double quotes and backslashes in label values, but looking at the openmetrics spec I think we also need to escape line breaks:
escaped-char = normal-char
escaped-char =/ BS ("n" / DQUOTE / BS)
escaped-char =/ BS normal-char
; Any unicode character, except newline, double quote, and backslash
normal-char = %x00-09 / %x0B-21 / %x23-5B / %x5D-D7FF / %xE000-10FFFF
Is this something you would be interested in preparing a PR for?
from nginx-lua-prometheus.
Related Issues (20)
- eliminating unique-identifier in URL path HOT 1
- log_by_lua error a nil value HOT 5
- feature request: support OpenMetrics text format and exemplar HOT 2
- Add variable value instead of prometheus metrics in init_worker_by_lua_block HOT 1
- High CPU usage when reset metirics constantly HOT 2
- Could you make a new luarocks release? HOT 3
- OS Version Support HOT 1
- Can add expire time to metrics? HOT 2
- Example for NGINX Stream metrics HOT 1
- Docker nginx:1.24.0-alpine with nginx-mod-http-lua=1.24.0-r2 yields symbol not found HOT 2
- table index is nil HOT 5
- feature request: Do lua-prometheus support push to Prometheus? HOT 1
- prometheuslib.init is blocked in the init_worker_by_lua_block phase. HOT 6
- Feature request: Handling user-agents HOT 3
- feature requirement: new option expiration for recycle the share dict HOT 11
- why is there no `del` method for `histogram` types HOT 1
- May I know which Grafana dashboard templates match this? HOT 1
- in multi-worker, call reset will cause other worker's lookup different with key_index HOT 6
- Add support for callback metrics
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 nginx-lua-prometheus.