Slide 1

Slide 1 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 1

Slide 2

Slide 2 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 2 Como manter a disponibilidade de microservices através do monitoramento de métricas Elder Moraes | @elderjava Developer Advocate Novembro, 2019

Slide 3

Slide 3 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, timing, and pricing of any features or functionality described for Oracle’s products may change and remains at the sole discretion of Oracle Corporation.

Slide 4

Slide 4 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 5

Slide 5

Slide 5 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Métricas 6

Slide 6

Slide 6 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Métrica é uma medida para avaliar, controlar e/ou selecionar quantitativamente: uma pessoa, um processo, um evento ou uma instituição 7

Slide 7

Slide 7 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Métrica vs Health Check 8

Slide 8

Slide 8 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | RockyBalboaService 9

Slide 9

Slide 9 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 10 • Força do soco: 100% • Sangramento: 0 ml/s • Visão: 100% • Nível suor: 1 ml/s • Confiança: 10 • Pronúncia: Adrian! • Força do soco: 0,5% • Sangramento: 100 ml/s • Visão: -10% • Nível suor: 2000 ml/s (baldes) • Confiança: 0 • Pronúncia: Ãnhãnãããnnnn

Slide 10

Slide 10 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Microprofile: 3 tipos de métricas • base – JVM – Threads – Thread Pools – Classloading – SO • vendor • application 11

Slide 11

Slide 11 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 12 JSON PROMETHEUS REST API

Slide 12

Slide 12 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 13 REST API /metrics /metrics/base /metrics/vendor /metrics/application

Slide 13

Slide 13 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 14 Formato Gauge JSON

Slide 14

Slide 14 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 15 Formato Counter JSON

Slide 15

Slide 15 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 16 Formato Meter JSON

Slide 16

Slide 16 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 17 Formato Histogram JSON

Slide 17

Slide 17 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 18 Formato Timer JSON

Slide 18

Slide 18 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Todos possuem equivalentes no formato Prometheus 19

Slide 19

Slide 19 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Código orientado a métricas 20

Slide 20

Slide 20 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 21 Annotation

Slide 21

Slide 21 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 22 Annotation Aplica-se a Descrição @Counted M, C, T Contabiliza a quantidade de invocações do objeto anotado @Gauge M Medidor que exibe o valor do objeto anotado @Metered M, C, T Mede a frequência de invocações do objeto anotado @Timed M, C, T Mede o tempo de duração do objeto anotado (C=Constructor, M=Method, T=Type)

Slide 22

Slide 22 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | Helidon 23

Slide 23

Slide 23 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | • É um conjunto de APIs para desenvolvimento de microservices • Open Source (Apache 2.0) • Helidon SE: microframework • Helidon MP: MicroProfile 24

Slide 24

Slide 24 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 25

Slide 25

Slide 25 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 26 Arquitetura

Slide 26

Slide 26 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 27 Código Helidon SE

Slide 27

Slide 27 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 28 Código Helidon MP

Slide 28

Slide 28 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | DEMO TIME!!! 29

Slide 29

Slide 29 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | @elderjava book.eldermoraes.com

Slide 30

Slide 30 text

Copyright © 2019, Oracle and/or its affiliates. All rights reserved. | 32