SlideShare a Scribd company logo
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
You’re part of a racing team
Sounds silly right?
But what if we don’t have this kind of information?
@KoTurk77
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
But why don’t we (developers) think about proper monitoring?
@KoTurk77
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Title Text
https://formulaf1results.blogspot.com/2020/01/f1-crash-wallpaper.html
Application X Application Y
Backend
(still driving but slow)
@KoTurk77
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
If that’s happening…..
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Of course you can log it but…..
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
A log is an event that happened
A metric is a measurement of the health of a system.
https://www.sumologic.com/blog/logs-metrics-overview/
@KoTurk77
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
That’s where
Micrometer comes in
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Introduction
Speaking
about IDEs and Micrometer
Likes to drive
the trial bike
Working
for Blue4IT
@Rabobank
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
https://www.signifytechnology.com/blog/2019/09/whats-your-tech-stack
Java 14
Spring Boot
Typescript
Angular
Cloud Foundry
Pipeline as code Micrometer
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Goals
Define the metrics
Create them in Micrometer
Save it to Prometheus
Visualize with Grafana
(Create the teams strategy)
(Preparing the car/race)
(The teams Pitwall)
https://www.redbull.com/nl-nl/red-bull-racing-zet-de-fabrieksdeuren-open
Create the teams strategy
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
What do we want to monitor?
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
How to be good in DevOps?
https://landing.google.com/sre/sre-book/toc/index.html
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
It’s about
• Searching for race factors —> Service Level Indicators
• Creating tactics —> Service Level Objectives
• Creating a strategy —> Service Level Agreement
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Racing Factors —> Defining an indicator (SLI)
• pitstop
request latency
How long does it take to do a pitstop
How long does it take to return a response
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Tactics —> Defining an objective (SLO)
Shouldn’t take more than 8 seconds
Shouldn’t be taking more than 0.1 seconds
• pitstop
request latency
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Strategy —> Defining an agreement (SLA)
• 2 pitstops less then 8 seconds
99,9 % of all requests less than 0.1 seconds
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Goals
Define the metrics
Create them in Micrometer
Save it to Prometheus
Visualize with Grafana
(Create the teams strategy)
(Preparing the car/race)
(The teams Pitwall)
Micrometer for the win!
But what is it?
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
SLF4J only for metrics
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Reasons to use Micrometer
• No vendor lock-in
• It’s Pivotal VMWare Tanzu
• Easy integration in Spring Boot
• So also support in Cloud Foundry
• Simple to use
• You can choose your own database / monitoring system
• You can define your own set of metrics
• But you get a lot for free
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Micrometer is included in Spring Boot 2 actuator
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Extra dependency for Spring Boot 1.5.x
I<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-spring-legacy</artifactId>
</dependency>
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
And also for Micronaut
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Pre-configured Bindings
• Instrumentions of:
• caches
• class loader
• garbage collection
• processor utilisation
• thread pools
• and more
https://i.ytimg.com/vi/eVpRNi5VEDo/maxresdefault.jpg
Demo time
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Long Task Timer
https://i.pinimg.com/originals/fb/5b/98/fb5b98edf68000f44e89d6428a3e2c65.jpg
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Timer
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
https://s1.cdn.autoevolution.com/images/news/gallery/red-bull-racing-beats-record-to-set-new-fastest-pit-stop-in-the-history-of-f1_2.jpg
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Histograms
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Counter
https://www.wallpaperflare.com/static/467/219/735/mercedes-amg-f1-w07-hybrid-formula-1-testing-wallpaper.jpg
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Gauge
https://cdn.24.co.za/files/Cms/General/d/4338/1678467a9d9149b983f38424014fb2c0.jpg
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
About security
• Please implement spring security
• Otherwise you will expose your endpoint to others
• And don’t forget to add it in your database config!
https://www.baeldung.com/spring-security-basic-authentication
https://egkatzioura.com/2020/05/07/spring-boot-and-micrometer-with-prometheus-part-6-securing-metrics/
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Sensitive data (!)
• Disable endpoints you don’t need
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Goals
Define the metrics
Create them in Micrometer
Save it to Prometheus
Visualize with Grafana
(Create the teams strategy)
(Preparing the car/race)
(The teams Pitwall)
@KoTurk77
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Where to store the metrics?
Which database should I use?
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Databases
• Prometheus
• Graphite
• Atlas
• KairosDB
Persistent or not persistent?
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
If you want to expose to prometheus
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Or Graphite
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-graphite</artifactId>
</dependency>

@KoTurk77
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
How to configure your application
with prometheus
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Goals
Define the metrics
Create them in Micrometer
Save it to Prometheus
Visualize with Grafana
(Create the teams strategy)
(Preparing the car/race)
(The teams Pitwall)
https://blog.purestorage.com/wp-content/uploads/2016/07/Pure-MBF1-Pitwall-v6.jpg
@KoTurk77
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
How to visualise the application metrics?
Which monitoring system to use?
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Systems
• Grafana
• Datadog
• Dynatrace
• Instant
• WaveFront
• and many more
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Let’s deep dive into Grafana
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Long Task Timer (duration)
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Timer (count)
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Timer (max)
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Gauge
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Bindings
@KoTurk77
@KoTurk77 The Battle of the IDEs #Devnexus
@KoTurk77
Controlling your race with Micrometer and Spring Boot (2.x)
Title Text
All examples you can find at:
https://github.com/KoTurk/Javaland-Micrometer
@KoTurk77
Thank you for listening

More Related Content

What's hot

Mete Atamel "Resilient microservices with kubernetes"
Mete Atamel "Resilient microservices with kubernetes"Mete Atamel "Resilient microservices with kubernetes"
Mete Atamel "Resilient microservices with kubernetes"
IT Event
 
Flux is incubating + the road ahead
Flux is incubating + the road aheadFlux is incubating + the road ahead
Flux is incubating + the road ahead
LibbySchulze
 
Rakuten and Microsoft talk DevOps in Real World
Rakuten and Microsoft talk DevOps in Real WorldRakuten and Microsoft talk DevOps in Real World
Rakuten and Microsoft talk DevOps in Real World
Tsuyoshi Ushio
 
Hosting Microservices in Microsoft Azure
Hosting Microservices in Microsoft AzureHosting Microservices in Microsoft Azure
Hosting Microservices in Microsoft Azure
Katherine Golovinova
 
Improving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware TakeoutImproving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware Takeout
VMware Tanzu
 
You Want to Kubernetes? You MUST Know Containers!
You Want to Kubernetes? You MUST Know Containers!You Want to Kubernetes? You MUST Know Containers!
You Want to Kubernetes? You MUST Know Containers!
VMware Tanzu
 
Building Distributed Systems with Netflix OSS and Spring Cloud
Building Distributed Systems with Netflix OSS and Spring CloudBuilding Distributed Systems with Netflix OSS and Spring Cloud
Building Distributed Systems with Netflix OSS and Spring Cloud
Matt Stine
 
Red Hat Quarkus | Red Hat Application Development | DO283
Red Hat Quarkus | Red Hat Application Development | DO283Red Hat Quarkus | Red Hat Application Development | DO283
Red Hat Quarkus | Red Hat Application Development | DO283
Global Knowledge Technologies
 
Spring5 New Features - Nov, 2017
Spring5 New Features - Nov, 2017Spring5 New Features - Nov, 2017
Spring5 New Features - Nov, 2017
VMware Tanzu Korea
 
Full-Stack Development with Spring Boot and VueJS
Full-Stack Development with Spring Boot and VueJSFull-Stack Development with Spring Boot and VueJS
Full-Stack Development with Spring Boot and VueJS
VMware Tanzu
 
Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019
Gaëlle Acas
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
VMware Tanzu
 
Migrating from Grails 2 to Grails 3
Migrating from Grails 2 to Grails 3Migrating from Grails 2 to Grails 3
Migrating from Grails 2 to Grails 3
Michael Plöd
 
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
The Software House
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
VMware Tanzu
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
elliando dias
 
Spring GraphQL
Spring GraphQLSpring GraphQL
Spring GraphQL
VMware Tanzu
 
High Throughput Web App with Quarkus
High Throughput Web App with QuarkusHigh Throughput Web App with Quarkus
High Throughput Web App with Quarkus
Muhammad Edwin
 
6 Things You Need to Know to Safely Run Kubernetes
6 Things You Need to Know to Safely Run Kubernetes6 Things You Need to Know to Safely Run Kubernetes
6 Things You Need to Know to Safely Run Kubernetes
VMware Tanzu
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Toni Jara
 

What's hot (20)

Mete Atamel "Resilient microservices with kubernetes"
Mete Atamel "Resilient microservices with kubernetes"Mete Atamel "Resilient microservices with kubernetes"
Mete Atamel "Resilient microservices with kubernetes"
 
Flux is incubating + the road ahead
Flux is incubating + the road aheadFlux is incubating + the road ahead
Flux is incubating + the road ahead
 
Rakuten and Microsoft talk DevOps in Real World
Rakuten and Microsoft talk DevOps in Real WorldRakuten and Microsoft talk DevOps in Real World
Rakuten and Microsoft talk DevOps in Real World
 
Hosting Microservices in Microsoft Azure
Hosting Microservices in Microsoft AzureHosting Microservices in Microsoft Azure
Hosting Microservices in Microsoft Azure
 
Improving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware TakeoutImproving Your Company’s Health with Middleware Takeout
Improving Your Company’s Health with Middleware Takeout
 
You Want to Kubernetes? You MUST Know Containers!
You Want to Kubernetes? You MUST Know Containers!You Want to Kubernetes? You MUST Know Containers!
You Want to Kubernetes? You MUST Know Containers!
 
Building Distributed Systems with Netflix OSS and Spring Cloud
Building Distributed Systems with Netflix OSS and Spring CloudBuilding Distributed Systems with Netflix OSS and Spring Cloud
Building Distributed Systems with Netflix OSS and Spring Cloud
 
Red Hat Quarkus | Red Hat Application Development | DO283
Red Hat Quarkus | Red Hat Application Development | DO283Red Hat Quarkus | Red Hat Application Development | DO283
Red Hat Quarkus | Red Hat Application Development | DO283
 
Spring5 New Features - Nov, 2017
Spring5 New Features - Nov, 2017Spring5 New Features - Nov, 2017
Spring5 New Features - Nov, 2017
 
Full-Stack Development with Spring Boot and VueJS
Full-Stack Development with Spring Boot and VueJSFull-Stack Development with Spring Boot and VueJS
Full-Stack Development with Spring Boot and VueJS
 
Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019Google Cloud Build - Sfeir Lunch Janvier 2019
Google Cloud Build - Sfeir Lunch Janvier 2019
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
 
Migrating from Grails 2 to Grails 3
Migrating from Grails 2 to Grails 3Migrating from Grails 2 to Grails 3
Migrating from Grails 2 to Grails 3
 
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
 
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway APIIngress? That’s So 2020! Introducing the Kubernetes Gateway API
Ingress? That’s So 2020! Introducing the Kubernetes Gateway API
 
Apache Continuum Build, Test, and Release
Apache Continuum Build, Test, and ReleaseApache Continuum Build, Test, and Release
Apache Continuum Build, Test, and Release
 
Spring GraphQL
Spring GraphQLSpring GraphQL
Spring GraphQL
 
High Throughput Web App with Quarkus
High Throughput Web App with QuarkusHigh Throughput Web App with Quarkus
High Throughput Web App with Quarkus
 
6 Things You Need to Know to Safely Run Kubernetes
6 Things You Need to Know to Safely Run Kubernetes6 Things You Need to Know to Safely Run Kubernetes
6 Things You Need to Know to Safely Run Kubernetes
 
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entitySpring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
Spring IO 2016 - Spring Cloud Microservices, a journey inside a financial entity
 

Similar to JavaLand - Micrometer and SpringBoot

Controlling your race with Micrometer and Spring Boot (live coding!)
Controlling your race with Micrometer and Spring Boot (live coding!)Controlling your race with Micrometer and Spring Boot (live coding!)
Controlling your race with Micrometer and Spring Boot (live coding!)
Ko Turk
 
Controlling your race with Micrometer, Spring Boot and Cloud Foundry
Controlling your race with Micrometer, Spring Boot and Cloud FoundryControlling your race with Micrometer, Spring Boot and Cloud Foundry
Controlling your race with Micrometer, Spring Boot and Cloud Foundry
Ko Turk
 
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @GeekleControlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle
Ko Turk
 
Monitoring your Spring Boot and Micronaut microservices with Micrometer
Monitoring your Spring Boot and Micronaut microservices with MicrometerMonitoring your Spring Boot and Micronaut microservices with Micrometer
Monitoring your Spring Boot and Micronaut microservices with Micrometer
Ko Turk
 
Code Motion Italy
Code Motion ItalyCode Motion Italy
Code Motion Italy
Ko Turk
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
Brice Fernandes
 
Real_World_0days.pdf
Real_World_0days.pdfReal_World_0days.pdf
Real_World_0days.pdf
distortdistort
 
The Battle of the IDEs @DevNexus 2020
The Battle of the IDEs @DevNexus 2020The Battle of the IDEs @DevNexus 2020
The Battle of the IDEs @DevNexus 2020
Ko Turk
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
Weaveworks
 
Setting up your first open gl program
Setting up your first open gl programSetting up your first open gl program
Setting up your first open gl program
Technology & Education
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
Publicis Sapient Engineering
 
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
bridgetkromhout
 
Cleaning your architecture with android architecture components
Cleaning your architecture with android architecture componentsCleaning your architecture with android architecture components
Cleaning your architecture with android architecture components
Debora Gomez Bertoli
 
FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023
Matthew Groves
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
Igalia
 
Crash course in Kubernetes monitoring
Crash course in Kubernetes monitoringCrash course in Kubernetes monitoring
Crash course in Kubernetes monitoring
Robert Munteanu
 
Cloud, Containers, Kubernetes (YOW Brisbane 2018)
Cloud, Containers, Kubernetes (YOW Brisbane 2018)Cloud, Containers, Kubernetes (YOW Brisbane 2018)
Cloud, Containers, Kubernetes (YOW Brisbane 2018)
bridgetkromhout
 
Cloud, Containers, Kubernetes (YOW Sydney 2018)
Cloud, Containers, Kubernetes (YOW Sydney 2018)Cloud, Containers, Kubernetes (YOW Sydney 2018)
Cloud, Containers, Kubernetes (YOW Sydney 2018)
bridgetkromhout
 
Continuous (Non-)Functional Testing of Microservices on K8s
Continuous (Non-)Functional Testing of Microservices on K8sContinuous (Non-)Functional Testing of Microservices on K8s
Continuous (Non-)Functional Testing of Microservices on K8s
QAware GmbH
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Weaveworks
 

Similar to JavaLand - Micrometer and SpringBoot (20)

Controlling your race with Micrometer and Spring Boot (live coding!)
Controlling your race with Micrometer and Spring Boot (live coding!)Controlling your race with Micrometer and Spring Boot (live coding!)
Controlling your race with Micrometer and Spring Boot (live coding!)
 
Controlling your race with Micrometer, Spring Boot and Cloud Foundry
Controlling your race with Micrometer, Spring Boot and Cloud FoundryControlling your race with Micrometer, Spring Boot and Cloud Foundry
Controlling your race with Micrometer, Spring Boot and Cloud Foundry
 
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @GeekleControlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle
Controlling your race with Micrometer, Spring Boot and Cloud Foundry @Geekle
 
Monitoring your Spring Boot and Micronaut microservices with Micrometer
Monitoring your Spring Boot and Micronaut microservices with MicrometerMonitoring your Spring Boot and Micronaut microservices with Micrometer
Monitoring your Spring Boot and Micronaut microservices with Micrometer
 
Code Motion Italy
Code Motion ItalyCode Motion Italy
Code Motion Italy
 
Speeding up your team with GitOps
Speeding up your team with GitOpsSpeeding up your team with GitOps
Speeding up your team with GitOps
 
Real_World_0days.pdf
Real_World_0days.pdfReal_World_0days.pdf
Real_World_0days.pdf
 
The Battle of the IDEs @DevNexus 2020
The Battle of the IDEs @DevNexus 2020The Battle of the IDEs @DevNexus 2020
The Battle of the IDEs @DevNexus 2020
 
Delivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOpsDelivering Quality at Speed with GitOps
Delivering Quality at Speed with GitOps
 
Setting up your first open gl program
Setting up your first open gl programSetting up your first open gl program
Setting up your first open gl program
 
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-StreamsXebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
XebiCon'18 - Passage à l'échelle de mes applications Kafka-Streams
 
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)Cloud, Containers, Kubernetes (YOW Melbourne 2018)
Cloud, Containers, Kubernetes (YOW Melbourne 2018)
 
Cleaning your architecture with android architecture components
Cleaning your architecture with android architecture componentsCleaning your architecture with android architecture components
Cleaning your architecture with android architecture components
 
FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023FluentMigrator - Dayton .NET - July 2023
FluentMigrator - Dayton .NET - July 2023
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Crash course in Kubernetes monitoring
Crash course in Kubernetes monitoringCrash course in Kubernetes monitoring
Crash course in Kubernetes monitoring
 
Cloud, Containers, Kubernetes (YOW Brisbane 2018)
Cloud, Containers, Kubernetes (YOW Brisbane 2018)Cloud, Containers, Kubernetes (YOW Brisbane 2018)
Cloud, Containers, Kubernetes (YOW Brisbane 2018)
 
Cloud, Containers, Kubernetes (YOW Sydney 2018)
Cloud, Containers, Kubernetes (YOW Sydney 2018)Cloud, Containers, Kubernetes (YOW Sydney 2018)
Cloud, Containers, Kubernetes (YOW Sydney 2018)
 
Continuous (Non-)Functional Testing of Microservices on K8s
Continuous (Non-)Functional Testing of Microservices on K8sContinuous (Non-)Functional Testing of Microservices on K8s
Continuous (Non-)Functional Testing of Microservices on K8s
 
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous SecurityHardening Your CI/CD Pipelines with GitOps and Continuous Security
Hardening Your CI/CD Pipelines with GitOps and Continuous Security
 

More from Ko Turk

Controlling your race with Micrometer and Spring Boot / Micronaut (Brown Bag)
Controlling your race with Micrometer and Spring Boot / Micronaut (Brown Bag)Controlling your race with Micrometer and Spring Boot / Micronaut (Brown Bag)
Controlling your race with Micrometer and Spring Boot / Micronaut (Brown Bag)
Ko Turk
 
JCON - The Battle of the IDEs
JCON - The Battle of the IDEsJCON - The Battle of the IDEs
JCON - The Battle of the IDEs
Ko Turk
 
JVM Conference - The Battle of the IDEs
JVM Conference - The Battle of the IDEsJVM Conference - The Battle of the IDEs
JVM Conference - The Battle of the IDEs
Ko Turk
 
"The Battle of the IDEs"
"The Battle of the IDEs""The Battle of the IDEs"
"The Battle of the IDEs"
Ko Turk
 
12092019 JavaZone "The Battle of the IDEs"
12092019 JavaZone "The Battle of the IDEs"12092019 JavaZone "The Battle of the IDEs"
12092019 JavaZone "The Battle of the IDEs"
Ko Turk
 
05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect
05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect
05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect
Ko Turk
 
The Battle of the IDEs
The Battle of the IDEsThe Battle of the IDEs
The Battle of the IDEs
Ko Turk
 

More from Ko Turk (7)

Controlling your race with Micrometer and Spring Boot / Micronaut (Brown Bag)
Controlling your race with Micrometer and Spring Boot / Micronaut (Brown Bag)Controlling your race with Micrometer and Spring Boot / Micronaut (Brown Bag)
Controlling your race with Micrometer and Spring Boot / Micronaut (Brown Bag)
 
JCON - The Battle of the IDEs
JCON - The Battle of the IDEsJCON - The Battle of the IDEs
JCON - The Battle of the IDEs
 
JVM Conference - The Battle of the IDEs
JVM Conference - The Battle of the IDEsJVM Conference - The Battle of the IDEs
JVM Conference - The Battle of the IDEs
 
"The Battle of the IDEs"
"The Battle of the IDEs""The Battle of the IDEs"
"The Battle of the IDEs"
 
12092019 JavaZone "The Battle of the IDEs"
12092019 JavaZone "The Battle of the IDEs"12092019 JavaZone "The Battle of the IDEs"
12092019 JavaZone "The Battle of the IDEs"
 
05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect
05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect
05092019 The Battle of the IDEs by Ko Turk at the AlmereJUG / Conspect
 
The Battle of the IDEs
The Battle of the IDEsThe Battle of the IDEs
The Battle of the IDEs
 

Recently uploaded

JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
Miro Wengner
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
LucaBarbaro3
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
Hiike
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
alexjohnson7307
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 

Recently uploaded (20)

JavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green MasterplanJavaLand 2024: Application Development Green Masterplan
JavaLand 2024: Application Development Green Masterplan
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Trusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process MiningTrusted Execution Environment for Decentralized Process Mining
Trusted Execution Environment for Decentralized Process Mining
 
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - HiikeSystem Design Case Study: Building a Scalable E-Commerce Platform - Hiike
System Design Case Study: Building a Scalable E-Commerce Platform - Hiike
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
leewayhertz.com-AI in predictive maintenance Use cases technologies benefits ...
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 

JavaLand - Micrometer and SpringBoot

  • 1.
  • 2. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) You’re part of a racing team
  • 3.
  • 4. Sounds silly right? But what if we don’t have this kind of information?
  • 5. @KoTurk77 @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) But why don’t we (developers) think about proper monitoring?
  • 6. @KoTurk77 @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Title Text https://formulaf1results.blogspot.com/2020/01/f1-crash-wallpaper.html Application X Application Y Backend (still driving but slow)
  • 7. @KoTurk77 @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) If that’s happening…..
  • 8. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Of course you can log it but…..
  • 9. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) A log is an event that happened A metric is a measurement of the health of a system. https://www.sumologic.com/blog/logs-metrics-overview/
  • 10. @KoTurk77 @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) That’s where Micrometer comes in
  • 11. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Introduction
  • 13. Likes to drive the trial bike
  • 15.
  • 16. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) https://www.signifytechnology.com/blog/2019/09/whats-your-tech-stack
  • 17. Java 14 Spring Boot Typescript Angular Cloud Foundry Pipeline as code Micrometer
  • 18.
  • 19. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Goals Define the metrics Create them in Micrometer Save it to Prometheus Visualize with Grafana (Create the teams strategy) (Preparing the car/race) (The teams Pitwall)
  • 21. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) What do we want to monitor?
  • 22.
  • 23. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) How to be good in DevOps?
  • 25. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) It’s about • Searching for race factors —> Service Level Indicators • Creating tactics —> Service Level Objectives • Creating a strategy —> Service Level Agreement
  • 26. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Racing Factors —> Defining an indicator (SLI) • pitstop request latency How long does it take to do a pitstop How long does it take to return a response
  • 27. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Tactics —> Defining an objective (SLO) Shouldn’t take more than 8 seconds Shouldn’t be taking more than 0.1 seconds • pitstop request latency
  • 28. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Strategy —> Defining an agreement (SLA) • 2 pitstops less then 8 seconds 99,9 % of all requests less than 0.1 seconds
  • 29. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Goals Define the metrics Create them in Micrometer Save it to Prometheus Visualize with Grafana (Create the teams strategy) (Preparing the car/race) (The teams Pitwall)
  • 30.
  • 31. Micrometer for the win! But what is it?
  • 32. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) SLF4J only for metrics
  • 33. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Reasons to use Micrometer • No vendor lock-in • It’s Pivotal VMWare Tanzu • Easy integration in Spring Boot • So also support in Cloud Foundry • Simple to use • You can choose your own database / monitoring system • You can define your own set of metrics • But you get a lot for free
  • 34. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Micrometer is included in Spring Boot 2 actuator <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
  • 35. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Extra dependency for Spring Boot 1.5.x I<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-spring-legacy</artifactId> </dependency>
  • 36. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) And also for Micronaut
  • 37. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Pre-configured Bindings • Instrumentions of: • caches • class loader • garbage collection • processor utilisation • thread pools • and more
  • 38.
  • 40. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Long Task Timer
  • 42. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Timer
  • 43. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) https://s1.cdn.autoevolution.com/images/news/gallery/red-bull-racing-beats-record-to-set-new-fastest-pit-stop-in-the-history-of-f1_2.jpg
  • 44. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Histograms
  • 45. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x)
  • 46. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x)
  • 47. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Counter
  • 49. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Gauge
  • 51. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) About security • Please implement spring security • Otherwise you will expose your endpoint to others • And don’t forget to add it in your database config! https://www.baeldung.com/spring-security-basic-authentication https://egkatzioura.com/2020/05/07/spring-boot-and-micrometer-with-prometheus-part-6-securing-metrics/
  • 52. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Sensitive data (!) • Disable endpoints you don’t need
  • 53. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Goals Define the metrics Create them in Micrometer Save it to Prometheus Visualize with Grafana (Create the teams strategy) (Preparing the car/race) (The teams Pitwall)
  • 54. @KoTurk77 @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Where to store the metrics? Which database should I use?
  • 55. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Databases • Prometheus • Graphite • Atlas • KairosDB Persistent or not persistent?
  • 56. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) If you want to expose to prometheus <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> </dependency>

  • 57. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Or Graphite <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-graphite</artifactId> </dependency>

  • 58.
  • 59. @KoTurk77 @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) How to configure your application with prometheus
  • 60. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Goals Define the metrics Create them in Micrometer Save it to Prometheus Visualize with Grafana (Create the teams strategy) (Preparing the car/race) (The teams Pitwall)
  • 62. @KoTurk77 @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) How to visualise the application metrics? Which monitoring system to use?
  • 63. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Systems • Grafana • Datadog • Dynatrace • Instant • WaveFront • and many more
  • 64. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Let’s deep dive into Grafana
  • 65. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Long Task Timer (duration)
  • 66. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Timer (count)
  • 67. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Timer (max)
  • 68. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Gauge
  • 69. @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Bindings
  • 70.
  • 71. @KoTurk77 @KoTurk77 The Battle of the IDEs #Devnexus @KoTurk77 Controlling your race with Micrometer and Spring Boot (2.x) Title Text
  • 72.
  • 73. All examples you can find at: https://github.com/KoTurk/Javaland-Micrometer @KoTurk77 Thank you for listening