Sha256: 906843b6b637eb7e29793b7e42c594b73cceb4877a954daa159ff8cc2ce2f5a8

Contents?: true

Size: 1.84 KB

Versions: 8

Compression:

Stored size: 1.84 KB

Contents

ifdef::env-github[]
NOTE: For the best reading experience,
please view this documentation at
https://www.elastic.co/guide/en/apm/agent/ruby/current/introduction.html[elastic.co]
endif::[]

[[introduction]]
== Introduction

The Elastic APM Ruby Agent sends performance metrics and error logs to the APM Server.
It has built-in support for <<getting-started-rails,Ruby on Rails>> and other
<<getting-started-rack,Rack-compatible>> applications.
It also offers an API which allows you to instrument any application.

[float]
[[how-it-works]]
=== How does the Agent work?

The agent auto-instruments <<supported-technologies,supported technologies>> and records interesting events,
like HTTP requests and database queries. To do this, it uses relevant public APIs when they are provided by the libraries. Otherwise, it carefully wraps the necessary internal methods.
This means that for the supported technologies, there are no code changes required.

The Agent automatically keeps track of queries to your data stores to measure their duration and metadata (like the DB statement),
as well as HTTP related information (like the URL, parameters, and headers).

These events, called Transactions and Spans, are sent to the APM Server.
The APM Server converts them to a format suitable for Elasticsearch, and sends them to an Elasticsearch cluster.
You can then use the APM app in Kibana to gain insight into latency issues and error culprits within your application.

[float]
[[additional-components]]
=== Additional Components

APM Agents work in conjunction with the {apm-guide-ref}/index.html[APM Server], {ref}/index.html[Elasticsearch], and {kibana-ref}/index.html[Kibana].
The {apm-guide-ref}/index.html[APM Guide] provides details on how these components work together,
and provides a matrix outlining {apm-guide-ref}/agent-server-compatibility.html[Agent and Server compatibility].

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
elastic-apm-4.7.3 docs/introduction.asciidoc
elastic-apm-4.7.2 docs/introduction.asciidoc
elastic-apm-4.7.1 docs/introduction.asciidoc
elastic-apm-4.7.0 docs/introduction.asciidoc
elastic-apm-4.6.2 docs/introduction.asciidoc
elastic-apm-4.6.1 docs/introduction.asciidoc
elastic-apm-4.6.0 docs/introduction.asciidoc
elastic-apm-4.5.1 docs/introduction.asciidoc