Using Kieker with Elastic APM: An Experience Report Valentin - - PowerPoint PPT Presentation

using kieker with elastic apm an experience report
SMART_READER_LITE
LIVE PREVIEW

Using Kieker with Elastic APM: An Experience Report Valentin - - PowerPoint PPT Presentation

Institute of Software Technology Reliable Software Systems Using Kieker with Elastic APM: An Experience Report Valentin Seifermann Duan Okanovi SSP 2018 @ Hildesheim, Germany Elastic Stack https://www.elastic.co/* Elastic APM


slide-1
SLIDE 1

Institute of Software Technology Reliable Software Systems

Using Kieker with Elastic APM: An Experience Report

Valentin Seifermann Dušan Okanović

SSP 2018 @ Hildesheim, Germany

slide-2
SLIDE 2

Elastic Stack

https://www.elastic.co/*

slide-3
SLIDE 3

Elastic APM

https://www.elastic.co/*

slide-4
SLIDE 4

Elastic APM

https://www.elastic.co/guide/en/apm/get-started/current/overview.html

slide-5
SLIDE 5
  • APM Agent
  • Performs instrumentation in platform language
  • Instrumenting web frameworks, database drivers, calls to caching

servers, and HTTP libraries for requests to external services

  • APM Server
  • Receives data from agents through a JSON HTTP API
  • Creates documents from the data and stores it into Elasticsearch
  • Elasticsearch
  • Alerting
  • Trace data can be combined with infrastructure logs, server metrics, and

security events

  • Kibana
  • Dashboards adapted for APM

Elasticsearch for APM

slide-6
SLIDE 6

Storing Data from Kieker into Elastic APM

https://thenounproject.com/m gaman/collection/hand- drawn-books/?i=1193595

ElasticAPM Writer

slide-7
SLIDE 7
  • Builds a span tree with Kieker

related data

  • Buffers data until the tree has been

built completely

  • Generates objects for each span
  • Serializes data to JSON
  • Sends data to the APM Server

(Intake API)

ElasticAPMWriter

slide-8
SLIDE 8

…And Now with TeaStore

slide-9
SLIDE 9

9

TeaStore in Kibana

slide-10
SLIDE 10

diagnoseIT

slide-11
SLIDE 11

Reading from Elasticsearch

OPEN.xtrace adapter

slide-12
SLIDE 12
  • Does transaction request to Elasticsearch to get new traces
  • If trace exists Does request to receive all spans of the new trace
  • Builds an OPEN.xtrace trace with the following structure:

ElasticAPM Adapter for OPEN.xtrace

SubTrace Nested Callable SubTrace SubTrace Nested Callable Nested Callable Nested Callable Root Span Span New Location Span executed on new location

slide-13
SLIDE 13
  • Available at: https://github.com/ValeSayfa/Elastic-APM-Demo-Setup
  • Next steps:
  • develop diagnoseIT view for Kibana
  • more experiments
  • use Elasticsearch for the analysis

Conclusion