Skip to content

ultraware/ElasticAPM4D

This branch is 15 commits ahead of, 24 commits behind Julianoeichelberger/ElasticAPM4D:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5a35f59 · Apr 23, 2021

History

54 Commits
Apr 23, 2021
Apr 22, 2021
Apr 23, 2021
Aug 13, 2019
Aug 22, 2019
Mar 9, 2021
Mar 9, 2021
Sep 2, 2019
Mar 7, 2021
Apr 22, 2021
Mar 7, 2021
Apr 21, 2021

Repository files navigation

ElasticAPM4D

It´s an Agent for Elastic-APM in Delphi

Features

  • Background (on the fly) configuration fetcher from APM Server
    • recording
      • completely turn off any data capturing (but can be turned on again runtime)
    • transaction_sample_rate
      • record only a percentage of all http call's, e.g. 10%. Note: transaction's with an error are always stored (not discarded)
    • capture_headers
      • store http headers in transaction context or not
    • capture_body
      • store http body payload in transaction context or not
  • Background metrics retrieval (cpu and memory)
  • Background sending data to APM Server
  • Distributed tracing (see demo below: for one call, record all descendant call's acros different applications or services, even async processing)
  • Custom tags/labels (trace or filter multiple call's)
  • Error stack traces (enable "JCL" conditional define)
  • Low overhead

Demo

First start a local Kibana, Elastic and APM Server:

start.bat

Or

docker-compose up

Wait till it is completely started and open the localhost Kibana APM page:

http://localhost:5601/app/apm/

Start both the DemoClient and DemoServer:

  • /demo/DemoClient.dpr
  • /demo/DemoServer.dpr

And press the demo "Http calls to server" button in the client:

Demo client

You will see some test calls in the server:

Demo server

The complete trace in visible Kibana:

Demo trace

Custom tags or labels

You can filter on your own custom tags / labels, so you can find for example all call's with a specific order number:

labels.tag_id : 22222

Demo labels

On the fly configuration

All APM recording can be turned off during runtime, by changing the application settings in Kibana:

Demo settings

Restart the Demo client and server, or wait 1 minute (background config fetcher).

Alerting

Alerting can be configured via the Alerts menu:

Alerting

For example, send an e-mail when more than 0 errors have been occured:

Create alert

About

It´s an Agent for Elastic-APM in Delphi

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Pascal 100.0%