The 4 Types Of Prometheus Metrics

  Рет қаралды 59,673

Tom Gregory Tech

Tom Gregory Tech

Күн бұрын

Пікірлер: 63
@kchaitanya39
@kchaitanya39 Жыл бұрын
Right on point, no stupid music and nothing just pure knowledge
@cmo
@cmo 4 жыл бұрын
you made the concept easy to understand, nice work
@elenapliakas6427
@elenapliakas6427 4 жыл бұрын
Thanks, really liked the code example, the way it looks on the endpoint and example of how to query them
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
Happy it helped you Elena!
@manusharma8777
@manusharma8777 2 жыл бұрын
Thanks for such a lucid tutorial!
@PanMaciek
@PanMaciek Жыл бұрын
Very good video: short, to the point, good examples and nice that you showed the endpoint too, thanks!
@ValerioBruno82
@ValerioBruno82 2 жыл бұрын
Super useful and amazingly clear! Thanks!
@SellvaXYZ
@SellvaXYZ 2 жыл бұрын
I would like to see more explanations like this in my career
@amanwats3034
@amanwats3034 4 жыл бұрын
really nice informative video, i was very confused earlier. thanks a lot
@ghegde6975
@ghegde6975 3 жыл бұрын
Finally I learnt it . Official documentation was confusing
@vrcmr
@vrcmr Жыл бұрын
Excellent content! Thank you so much.
@gijduvon6379
@gijduvon6379 3 жыл бұрын
1:23 Counter 3:37 Gauge 5:43 Histogram 9:45 Summary
@al20ov87
@al20ov87 2 жыл бұрын
thanks
@HamedAbdollahpour
@HamedAbdollahpour 3 жыл бұрын
Very well done. Thanks!
@usernamewatcher
@usernamewatcher 2 жыл бұрын
very clear and useful ! thanks!
@bavaagustin
@bavaagustin Жыл бұрын
Quite good. Thanks!
@gaurav5471
@gaurav5471 4 жыл бұрын
Very precise and to the point video. Its very helpful ! You could probably add java version and gradle version used as well to readme file. Adding those detail may save some debugging efforts for who just want to try this example as is. I had latest version of java i.e. 14 and latest gradle version but it wasn't working with that, there were certain compatibility issues but when downgraded the java version to 11 it worked fine.
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
Hi Gaurav. Thanks for the comment and sorry you had some problems with the repo. I do include the Gradle wrapper with the project which will fix the version of Gradle at 5.2.1. I'll make a note to look into the Java version, so thanks for pointing that out.
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
Gradle updated to 6.4.1 and the project is now compiling with Java 14. See you in the next video.
@arunr761
@arunr761 4 жыл бұрын
Great Explanations
@ChandanKumar-ou9fr
@ChandanKumar-ou9fr Жыл бұрын
Super content 👌
@DmitriyBlokhin
@DmitriyBlokhin 2 жыл бұрын
Thank you.
@branosvk666
@branosvk666 4 жыл бұрын
great explanation! Thanks
@xiaoduoxu272
@xiaoduoxu272 4 жыл бұрын
Thanks mate! I love it.
@maxidc1
@maxidc1 4 жыл бұрын
Great video! Thanks!
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
You're welcome!
@krisorsmso5094
@krisorsmso5094 3 жыл бұрын
Amazing video!
@benjamine.ndugga729
@benjamine.ndugga729 4 жыл бұрын
Thanks Tom. I am trying to do something similar but with alot more details. I want to see values from sales made in real time.
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
You're welcome. Maybe you could have a counter for number of sales, and one for total sale value? You can then graph the rate.
@benjamine.ndugga729
@benjamine.ndugga729 4 жыл бұрын
@@TomGregoryTech thank you mate. I was looking all over for a solution, you just made it easy for me.
@wexwexexort
@wexwexexort 4 жыл бұрын
Thanks for the video and useful information. Yet, I want to share that your choice of camera angle irritated me. Just a feedback.
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
Thanks, and I know what you mean. New setup has an improved camera position.
@wayne1435
@wayne1435 3 жыл бұрын
informative Great video;
@puru2901is
@puru2901is 3 жыл бұрын
Really a helpful video!!!
@rrr00bb1
@rrr00bb1 3 жыл бұрын
i'm puzzled as to how I should be modelling the kinds of metrics you need for large file content. I basically want Universal Scalability Law, which is centered around analyzing a correctly weighted histogram of (load, throughput). if a file download starts, you know that the load went up by 1 (arrival counter); but you don't yet know the transfer rate. when the download stops, you know that the load went down by 1 (departure counter), the number of bytes involved, and the duration that request took. from there, you can work out that on arrival the transfer rate that the server had gone up by until departure. you can report that as (start,stop,bytes) ... or equivalently, a timestamped (duration,rate). because the OVERLAPS are preserved, you can calculate an astonishing number of important, and physically meaningful, metrics. in particular, you can measure concurrency, and predict when you can get no more throughput out of it. i think i'd have to report a timestamped (bytes,duration) tuple to derive a USL, or at least I'd have to report throughput bucketed by load (ie: concurrent requests).
@TomGregoryTech
@TomGregoryTech 3 жыл бұрын
Hi rrr00bb, thanks for the question but it's not something I have experience with. Please post back here though if you find a way forward.
@rrr00bb1
@rrr00bb1 3 жыл бұрын
@@TomGregoryTech i am working around by using two kinds of counters: bytes_total{load=2}, sec_total{load=2} ... keeping counters when i have a certain number of clients in the system. i don't use rate, but query as bytes_total/sec_total ... this gives the average rate that a user experiences AT a load - the times do not overlap, representing concurrency. that's different from the query rate(bytes_total[1m]) with a stack of graphs by load. in that case, it tells you which bytes went up while under each load; but you can't tell what percentage of the time you were AT that load. The Universal Scalability Law is all about getting a scatter plot of (load,throughput) pairs, and fitting a curve. It will forecast when you should stop trying to deal with the load by adding more servers, how many concurrent requests you can support, and the throughput that a user will experience at a given load; and there are related calculations to calculate expected response time from the same data.
@rrr00bb1
@rrr00bb1 3 жыл бұрын
ie: bytes_total/sec_total is what an individual user experiences... demand. rate(bytes_total) is what the servers supply in throughput. A million users downloading from Google at 10MB/s ... vs 1 user downloading at 100MB/s on a simple web server. At any given time, there's a 2D point of (load,throughput). You can calculate this 3D volume exactly if at the end of every request, you get (timestamp,duration,bytes) tuple. The real information is in how the durations overlap. Simple counters don't really model it right.
@purshoth.k5027
@purshoth.k5027 2 жыл бұрын
Hi that's a great video. Can you help me to find a solution to absent metrics.. It seems that we keep receiving false alerts on absent metrics. Is there a way where we can stop this false alerts. 1) Is there any other alternative function instead of absent function which does the same work. 2) silencing an alert stops only the absent metric alert or stops entire genuine occurring alert as well.. 3) what happens if we reboot the alert manager will the false/in-active alert dissaper? We use prometheus version 2.10.1
@itaco8066
@itaco8066 4 жыл бұрын
Awesome
@yxd00181
@yxd00181 3 жыл бұрын
Is there a video explaining the math behind these metrics with stream data ?
@TomGregoryTech
@TomGregoryTech 3 жыл бұрын
If only...
@ArunKumar-xw6iw
@ArunKumar-xw6iw 3 жыл бұрын
Thanks for wonderful video. I learnt a lot. 09:41 - What is request_duration_bucket and what is value in the result indicates? Does it mean the sum of request duration of top 5 slower requests in the last 5 minutes is 9.625?
@TomGregoryTech
@TomGregoryTech 3 жыл бұрын
Hi Arun. The "bucket" has an "le" label. Each bucket metric has a different label e.g. request_duration_bucket{le="10.0",} which means how many times was there a request with duration less than the "le" value (10 in this case). Importantly, each request can fall into multiple buckets. With the data captured in this format you can then query it in Prometheus with the histogram_quantile function.
@anoopsidhu3437
@anoopsidhu3437 3 жыл бұрын
@@TomGregoryTech Thanks Tom for the explanation. I was wondering how does histogram_quantile works in relation with the multiple buckets scenarios in this example. Are we saying we take the 90 percentile value in each bucket and then sum it up to come up with the 9.625 value. I am bit confused how did we apply the histogram_quantile function in relation to individual buckets.
@TomGregoryTech
@TomGregoryTech 3 жыл бұрын
@@anoopsidhu3437 Hi again! Here's how it's explained in the docs "The histogram_quantile() function interpolates quantile values by assuming a linear distribution within a bucket." You can read more here prometheus.io/docs/prometheus/latest/querying/functions/#histogram_quantile
@anoopsidhu3437
@anoopsidhu3437 3 жыл бұрын
@@TomGregoryTech Thanks. If we have many buckets , do we interpolates quantile values in each bucket and then add it all or do we select one bucket that is selected based on quantile and come up with the value. The link that is provided is bit unclear on that.
@hadisoleimany6271
@hadisoleimany6271 2 жыл бұрын
great
@9939364566
@9939364566 4 жыл бұрын
Hi, How can we query prometheus for any custom COUNTER metrics vale using Prometheus HTTP API (Dont want to use prometheus server UI).
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
Hi. Try some of the examples in the HTTP API docs e.g. curl 'localhost:9090/api/v1/query?query=up&time=2015-07-01T20:10:51.781Z' prometheus.io/docs/prometheus/latest/querying/api/
@ignazioc
@ignazioc 4 жыл бұрын
Thanks for the info here. I was having trouble to find example of custom metrics. Only one suggestion: don't read :D
@naveen6655
@naveen6655 3 жыл бұрын
How to calculate a MAX tps in a day of an application form pormetheus. Could you please some one let me knw.
@TomGregoryTech
@TomGregoryTech 3 жыл бұрын
Depends what you mean by tps? Look into the max_over_time function prometheus.io/docs/prometheus/latest/querying/functions/
@kiranpreetkaur8516
@kiranpreetkaur8516 4 жыл бұрын
Nice, can u pls lemme know how to setup Prometheus for Parse-server + MongoDB
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
Hi Kiranpreet. I haven't used Parse before, but for MongoDB maybe you could use this Prometheus exporter github.com/percona/mongodb_exporter ?
@maxi1kian0
@maxi1kian0 4 жыл бұрын
Hello what IDE are you using? Thanks
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
Hi Max. I use IntelliJ IDEA :)
@maxi1kian0
@maxi1kian0 4 жыл бұрын
@@TomGregoryTech thank u
@DmC944
@DmC944 4 жыл бұрын
A bit late to the party, but how can request count be 22.5?
@TomGregoryTech
@TomGregoryTech 4 жыл бұрын
Party's just starting. This is a very good question and I'm not really sure how the decimal value got in there. In the Prometheus Java client you can in fact increment a counter by any double value, although you can see in this code I'm incrementing by an integer github.com/tkgregory/metric-types/blob/master/src/main/java/com/tom/controller/CounterController.java I can only imagine that whilst recording this video I was trying out some non-integer increments, and hence you're seeing 22.5. Sorry for the confusion!
@amirkazemi7895
@amirkazemi7895 2 жыл бұрын
the intro looks like one of those get rich scams :)
@NagendraVaraPrasad-ks5nw
@NagendraVaraPrasad-ks5nw Ай бұрын
Can you please give me the git repo?
@TomGregoryTech
@TomGregoryTech Ай бұрын
Hi. You can check it out, but note that I don't maintain it any more github.com/tkgregory/metric-types
Understanding Prometheus Histograms | Motivation and Concepts, Instrumentation, Querying in PromQL
22:05
Prometheus Monitoring with Julius | PromLabs
Рет қаралды 5 М.
How to build a PromQL (Prometheus Query Language)
38:34
Is it Observable
Рет қаралды 44 М.
Men Vs Women Survive The Wilderness For $500,000
31:48
MrBeast
Рет қаралды 102 МЛН
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 6 МЛН
Touching Act of Kindness Brings Hope to the Homeless #shorts
00:18
Fabiosa Best Lifehacks
Рет қаралды 20 МЛН
Server Monitoring // Prometheus and Grafana Tutorial
24:36
Christian Lempa
Рет қаралды 647 М.
Monitoring Kubernetes with Prometheus - Tom Wilkie
36:54
GDG Lviv
Рет қаралды 32 М.
Turns out REST APIs weren't the answer (and that's OK!)
10:38
Dylan Beattie
Рет қаралды 158 М.
PromQL (Prometheus Query Language)
19:00
Pavan Elthepu
Рет қаралды 10 М.
PromCon EU 2019: PromQL for Mere Mortals
27:05
Prometheus Monitoring
Рет қаралды 24 М.
Event-Driven Architecture (EDA) vs Request/Response (RR)
12:00
Confluent
Рет қаралды 140 М.
Custom metrics for applications in Prometheus on Kubernetes
24:22
That DevOps Guy
Рет қаралды 18 М.
GrafanaCONline: Prometheus rate queries in Grafana
49:54
Grafana
Рет қаралды 32 М.