From eddf5c0a8e4ec0e4115fc26889dfad63f843b737 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Thu, 21 Dec 2023 09:56:22 -0600 Subject: [PATCH 1/4] [apm docs consolidation] Clean up (#3476) * use tagged regions for release notes * rename apm-breaking, point to apm-server * remove data and spec directories, point to apm-server (cherry picked from commit d4309b55dcd21d50836a1d6a7fd25ce6eb954c41) # Conflicts: # docs/en/apm-server/apm-breaking.asciidoc # docs/en/apm-server/data-model.asciidoc # docs/en/apm-server/data/elasticsearch/generated/errors.json # docs/en/apm-server/data/elasticsearch/generated/spans.json # docs/en/apm-server/data/elasticsearch/generated/transactions.json # docs/en/apm-server/data/elasticsearch/metricset.json # docs/en/apm-server/release-notes.asciidoc # docs/en/apm-server/spec/rumv3/error.json # docs/en/apm-server/spec/rumv3/span.json # docs/en/apm-server/spec/rumv3/transaction.json # docs/en/apm-server/spec/v2/error.json # docs/en/apm-server/spec/v2/metadata.json # docs/en/apm-server/spec/v2/span.json # docs/en/apm-server/spec/v2/transaction.json --- docs/en/apm-server/api-error.asciidoc | 2 +- docs/en/apm-server/api-event-example.asciidoc | 2 +- docs/en/apm-server/api-metadata.asciidoc | 2 +- docs/en/apm-server/api-metricset.asciidoc | 2 +- docs/en/apm-server/api-span.asciidoc | 2 +- docs/en/apm-server/api-transaction.asciidoc | 2 +- docs/en/apm-server/data-model.asciidoc | 164 +++++++++- .../generated/rum_v3_errors.json | 112 ------- .../generated/rum_v3_transactions.json | 110 ------- .../data/intake-api/generated/events.ndjson | 5 - .../intake-api/generated/rum_v3_events.ndjson | 2 - .../generated/sourcemap/bundle.js.map | 38 --- .../apm-server/legacy/metadata-api.asciidoc | 2 +- .../apm-server/legacy/metricset-api.asciidoc | 2 +- docs/en/apm-server/release-notes.asciidoc | 6 +- docs/en/apm-server/spec/rumv3/metadata.json | 218 ------------- docs/en/apm-server/spec/v2/metricset.json | 301 ------------------ docs/en/apm-server/upgrading.asciidoc | 2 +- 18 files changed, 175 insertions(+), 799 deletions(-) delete mode 100644 docs/en/apm-server/data/elasticsearch/generated/rum_v3_errors.json delete mode 100644 docs/en/apm-server/data/elasticsearch/generated/rum_v3_transactions.json delete mode 100644 docs/en/apm-server/data/intake-api/generated/events.ndjson delete mode 100644 docs/en/apm-server/data/intake-api/generated/rum_v3_events.ndjson delete mode 100644 docs/en/apm-server/data/intake-api/generated/sourcemap/bundle.js.map delete mode 100644 docs/en/apm-server/spec/rumv3/metadata.json delete mode 100644 docs/en/apm-server/spec/v2/metricset.json diff --git a/docs/en/apm-server/api-error.asciidoc b/docs/en/apm-server/api-error.asciidoc index 22e3c9da4c..1f62c885eb 100644 --- a/docs/en/apm-server/api-error.asciidoc +++ b/docs/en/apm-server/api-error.asciidoc @@ -12,5 +12,5 @@ APM Server uses JSON Schema to validate requests. The specification for errors i [source,json] ---- -include::./spec/v2/error.json[] +include::{apm-server-root}/docs/spec/v2/error.json[] ---- diff --git a/docs/en/apm-server/api-event-example.asciidoc b/docs/en/apm-server/api-event-example.asciidoc index 9297e327c7..acdf09c148 100644 --- a/docs/en/apm-server/api-event-example.asciidoc +++ b/docs/en/apm-server/api-event-example.asciidoc @@ -5,5 +5,5 @@ A request body example containing one event for all currently supported event ty [source,json] ---- -include::./data/intake-api/generated/events.ndjson[] +include::{apm-server-root}/docs/data/intake-api/generated/events.ndjson[] ---- diff --git a/docs/en/apm-server/api-metadata.asciidoc b/docs/en/apm-server/api-metadata.asciidoc index 04addb0c51..a11ff73133 100644 --- a/docs/en/apm-server/api-metadata.asciidoc +++ b/docs/en/apm-server/api-metadata.asciidoc @@ -62,5 +62,5 @@ APM Server uses JSON Schema to validate requests. The specification for metadata [source,json] ---- -include::./spec/v2/metadata.json[] +include::{apm-server-root}/docs/spec/v2/metadata.json[] ---- \ No newline at end of file diff --git a/docs/en/apm-server/api-metricset.asciidoc b/docs/en/apm-server/api-metricset.asciidoc index d59ea85d46..67bf2dbf02 100644 --- a/docs/en/apm-server/api-metricset.asciidoc +++ b/docs/en/apm-server/api-metricset.asciidoc @@ -12,5 +12,5 @@ APM Server uses JSON Schema to validate requests. The specification for metrics [source,json] ---- -include::./spec/v2/metricset.json[] +include::{apm-server-root}/docs/spec/v2/metricset.json[] ---- diff --git a/docs/en/apm-server/api-span.asciidoc b/docs/en/apm-server/api-span.asciidoc index 96d75d31d7..a6609276af 100644 --- a/docs/en/apm-server/api-span.asciidoc +++ b/docs/en/apm-server/api-span.asciidoc @@ -12,5 +12,5 @@ APM Server uses JSON Schema to validate requests. The specification for spans is [source,json] ---- -include::./spec/v2/span.json[] +include::{apm-server-root}/docs/spec/v2/span.json[] ---- diff --git a/docs/en/apm-server/api-transaction.asciidoc b/docs/en/apm-server/api-transaction.asciidoc index 758496ebcb..2bfa11c247 100644 --- a/docs/en/apm-server/api-transaction.asciidoc +++ b/docs/en/apm-server/api-transaction.asciidoc @@ -12,5 +12,5 @@ APM Server uses JSON Schema to validate requests. The specification for transact [source,json] ---- -include::./spec/v2/transaction.json[] +include::{apm-server-root}/docs/spec/v2/transaction.json[] ---- diff --git a/docs/en/apm-server/data-model.asciidoc b/docs/en/apm-server/data-model.asciidoc index 151f005c22..539ad3ee9c 100644 --- a/docs/en/apm-server/data-model.asciidoc +++ b/docs/en/apm-server/data-model.asciidoc @@ -88,7 +88,7 @@ This example shows what span documents can look like when indexed in {es}. ==== [source,json] ---- -include::./data/elasticsearch/generated/spans.json[] +include::{apm-server-root}/docs/data/elasticsearch/generated/spans.json[] ---- ==== @@ -159,7 +159,7 @@ This example shows what transaction documents can look like when indexed in {es} ==== [source,json] ---- -include::./data/elasticsearch/generated/transactions.json[] +include::{apm-server-root}/docs/data/elasticsearch/generated/transactions.json[] ---- ==== @@ -212,7 +212,7 @@ This example shows what error documents can look like when indexed in {es}. ==== [source,json] ---- -include::./data/elasticsearch/generated/errors.json[] +include::{apm-server-root}/docs/data/elasticsearch/generated/errors.json[] ---- ==== @@ -252,6 +252,29 @@ For a full list of tracked metrics, see the relevant agent documentation: * {apm-ruby-ref-v}/metrics.html[Ruby] [float] +<<<<<<< HEAD +======= +===== Example system metric document + +This example shows what system metric documents can look like when indexed in {es}. + +[%collapsible] +.Expand {es} document +==== + +This example contains JVM metrics produced by the {apm-java-agent}. +and contains two related metrics: `jvm.gc.time` and `jvm.gc.count`. These are accompanied by various fields describing +the environment in which the metrics were captured: service name, host name, Kubernetes pod UID, container ID, process ID, and more. +These fields make it possible to search and aggregate across various dimensions, such as by service, host, and Kubernetes pod. + +[source,json] +---- +include::{apm-server-root}/docs/data/elasticsearch/metricset.json[] +---- +==== + +[float] +>>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) ==== Calculated metrics APM agents and APM Server calculate metrics from trace events to power visualizations in the {apm-app}. @@ -283,6 +306,24 @@ You can filter and group by these dimensions: -- [float] +<<<<<<< HEAD +======= +===== Example breakdown metric document + +This example shows what breakdown metric documents can look like when indexed in {es}. + +[%collapsible] +.Expand {es} document +==== + +[source,json] +---- +include::{apm-server-root}/docs/data/elasticsearch/span_breakdown.json[] +---- +==== + +[float] +>>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) ===== Transaction metrics To power {kibana-ref}/xpack-apm.html[{apm-app}] visualizations, @@ -335,6 +376,70 @@ You can filter and group by these dimensions (some of which are optional, for ex The `@timestamp` field of these documents holds the start of the aggregation interval. [float] +<<<<<<< HEAD +======= +===== Example transaction document + +This example shows what transaction documents can look like when indexed in {es}. + +[%collapsible] +.Expand {es} document +==== + +[source,json] +---- +include::{apm-server-root}/docs/data/elasticsearch/transaction_metric.json[] +---- +==== + +[float] +===== Service-transaction metrics + +To power {kibana-ref}/xpack-apm.html[{apm-app}] visualizations, +APM Server aggregates transaction events into service-transaction metrics. +Service-transaction metrics are similar to transaction metrics, but they usually +have a much lower cardinality as they have significantly fewer dimensions. +The UI uses them when fewer details of the transactions are needed. + +*`transaction.duration.summary`* and *`transaction.duration.histogram`*:: ++ +-- +These metrics represent the latency summary and latency distribution of service transaction groups, +used to power service-oriented visualizations and analytics in Elastic APM. + +These metric documents can be identified by searching for `metricset.name: service_transaction`. + +You can filter and group by these dimensions: + +* `agent.name`: The name of the {apm-agent} that instrumented the operation, for example `java` +* `labels`: Key-value object containing string labels set globally by the APM agents. +* `metricset.interval`: A string with the aggregation interval the metricset represents. +* `numeric_labels`: Key-value object containing numeric labels set globally by the APM agents. +* `service.environment`: The environment of the service that made the request +* `service.language.name`: The language name of the service that served the transaction, for example `Go` +* `service.name`: The name of the service that made the request +* `transaction.type`: The type of the enclosing transaction, for example `request` +-- + +The `@timestamp` field of these documents holds the start of the aggregation interval. + +[float] +===== Example service-transaction document + +This example shows what service-transaction documents can look like when indexed in {es}. + +[%collapsible] +.Expand {es} document +==== + +[source,json] +---- +include::{apm-server-root}/docs/data/elasticsearch/service_transaction_metric.json[] +---- +==== + +[float] +>>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) ===== Service-destination metrics To power {kibana-ref}/xpack-apm.html[{apm-app}] visualizations, @@ -364,6 +469,59 @@ You can filter and group by these dimensions: The `@timestamp` field of these documents holds the start of the aggregation interval. [float] +<<<<<<< HEAD +======= +===== Example service-destination document + +This example shows what service-destination documents can look like when indexed in {es}. + +[%collapsible] +.Expand {es} document +==== + +[source,json] +---- +include::{apm-server-root}/docs/data/elasticsearch/service_destination_metric.json[] +---- +==== + +[float] +===== Service-summary metrics + +To power {kibana-ref}/xpack-apm.html[{apm-app}] visualizations, +APM Server aggregates transaction, error, log, and metric events into service-summary metrics. + +These metric documents can be identified by searching for `metricset.name: service_summary`. + +You can filter and group by these dimensions: + +* `agent.name`: The name of the {apm-agent} that instrumented the operation, for example `java` +* `labels`: Key-value object containing string labels set globally by the APM agents. +* `metricset.interval`: A string with the aggregation interval the metricset represents. +* `numeric_labels`: Key-value object containing numeric labels set globally by the APM agents. +* `service.environment`: The environment of the service that made the request +* `service.language.name`: The language name of the service that served the transaction, for example `Go` +* `service.name`: The name of the service that made the request + +The `@timestamp` field of these documents holds the start of the aggregation interval. + +[float] +===== Example service-summary document + +This example shows what service-summary documents can look like when indexed in {es}. + +[%collapsible] +.Expand {es} document +==== + +[source,json] +---- +include::{apm-server-root}/docs/data/elasticsearch/service_summary_metric.json[] +---- +==== + +[float] +>>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) ==== Data streams Metrics are stored in the following data streams: diff --git a/docs/en/apm-server/data/elasticsearch/generated/rum_v3_errors.json b/docs/en/apm-server/data/elasticsearch/generated/rum_v3_errors.json deleted file mode 100644 index 25f4f7ff46..0000000000 --- a/docs/en/apm-server/data/elasticsearch/generated/rum_v3_errors.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "events": [ - { - "@timestamp": "2017-12-08T12:18:50.291Z", - "agent": { - "name": "rum-js", - "version": "0.0.0" - }, - "client": { - "ip": "192.0.0.1" - }, - "error": { - "culprit": "test/e2e/general-usecase/bundle.js.map", - "exception": [ - { - "message": "Uncaught Error: timeout test error", - "stacktrace": [ - { - "abs_path": "http://localhost:8000/test/../test/e2e/general-usecase/bundle.js.map", - "exclude_from_grouping": false, - "filename": "test/e2e/general-usecase/bundle.js.map", - "function": "\u003canonymous\u003e", - "library_frame": true, - "line": { - "column": 18, - "number": 1 - } - }, - { - "abs_path": "http://localhost:8000/test/./e2e/general-usecase/bundle.js.map", - "exclude_from_grouping": false, - "filename": "~/test/e2e/general-usecase/bundle.js.map", - "function": "invokeTask", - "library_frame": false, - "line": { - "column": 181, - "number": 1 - } - }, - { - "abs_path": "http://localhost:8000/test/e2e/general-usecase/bundle.js.map", - "exclude_from_grouping": false, - "filename": "~/test/e2e/general-usecase/bundle.js.map", - "function": "runTask", - "line": { - "column": 15, - "number": 1 - } - }, - { - "abs_path": "http://localhost:8000/test/e2e/general-usecase/bundle.js.map", - "exclude_from_grouping": false, - "filename": "~/test/e2e/general-usecase/bundle.js.map", - "function": "invoke", - "line": { - "column": 199, - "number": 1 - } - }, - { - "abs_path": "http://localhost:8000/test/e2e/general-usecase/bundle.js.map", - "exclude_from_grouping": false, - "filename": "~/test/e2e/general-usecase/bundle.js.map", - "function": "timer", - "line": { - "column": 33, - "number": 1 - } - } - ], - "type": "Error" - } - ], - "grouping_key": "52fbc9c2d1a61bf905b4a11c708006fd", - "id": "aba2688e033848ce9c4e4005f1caa534", - "log": { - "message": "Uncaught Error: log timeout test error", - "stacktrace": [ - { - "abs_path": "http://localhost:8000/test/e2e/general-usecase/bundle.js.map", - "exclude_from_grouping": false, - "filename": "~/test/e2e/general-usecase/bundle.js.map", - "function": "\u003canonymous\u003e", - "line": { - "column": 18, - "number": 1 - } - } - ] - }, - "page": { - "referer": "http://localhost:8000/test/e2e/", - "url": "http://localhost:8000/test/e2e/general-usecase/" - } - }, - "processor": { - "event": "error", - "name": "error" - }, - "service": { - "name": "apm-agent-js", - "version": "1.0.1" - }, - "timestamp": { - "us": 1512735530291000 - }, - "user_agent": { - "original": "rum-2.0" - } - } - ] -} diff --git a/docs/en/apm-server/data/elasticsearch/generated/rum_v3_transactions.json b/docs/en/apm-server/data/elasticsearch/generated/rum_v3_transactions.json deleted file mode 100644 index 228fe417c1..0000000000 --- a/docs/en/apm-server/data/elasticsearch/generated/rum_v3_transactions.json +++ /dev/null @@ -1,110 +0,0 @@ -{ - "events": [ - { - "@timestamp": "2018-08-01T10:00:00Z", - "agent": { - "name": "rum-js", - "version": "0.0.0" - }, - "client": { - "ip": "192.0.0.1" - }, - "processor": { - "event": "transaction", - "name": "transaction" - }, - "service": { - "name": "apm-agent-js", - "version": "1.0.0" - }, - "timestamp": { - "us": 1533117600000000 - }, - "trace": { - "id": "611f4fa950f04631aaaaaaaaaaaaaaaa" - }, - "transaction": { - "duration": { - "us": 643000 - }, - "id": "611f4fa950f04631", - "page": { - "referer": "http://localhost:8000/test/e2e/", - "url": "http://localhost:8000/test/e2e/general-usecase/" - }, - "sampled": true, - "span_count": { - "started": 1 - }, - "type": "page-load" - }, - "user_agent": { - "original": "rum-2.0" - } - }, - { - "@timestamp": "2018-08-01T10:00:00Z", - "agent": { - "name": "rum-js", - "version": "0.0.0" - }, - "parent": { - "id": "611f4fa950f04631" - }, - "processor": { - "event": "span", - "name": "transaction" - }, - "service": { - "name": "apm-agent-js" - }, - "span": { - "duration": { - "us": 643000 - }, - "http": { - "url": { - "original": "http://localhost:8000/test/e2e/general-usecase/span" - } - }, - "id": "aaaaaaaaaaaaaaaa", - "name": "transaction", - "stacktrace": [ - { - "abs_path": "http://localhost:8000/test/e2e/general-usecase/bundle.js.map", - "exclude_from_grouping": false, - "filename": "test/e2e/general-usecase/bundle.js.map", - "function": "\u003canonymous\u003e", - "line": { - "column": 18, - "number": 1 - } - }, - { - "abs_path": "http://localhost:8000/test/e2e/general-usecase/bundle.js.map", - "exclude_from_grouping": false, - "filename": "~/test/e2e/general-usecase/bundle.js.map", - "function": "\u003canonymous\u003e", - "line": { - "column": 18, - "number": 1 - } - } - ], - "start": { - "us": 0 - }, - "type": "transaction" - }, - "timestamp": { - "us": 1533117600000000 - }, - "trace": { - "id": "611f4fa950f04631aaaaaaaaaaaaaaaa" - }, - "transaction": { - "id": "611f4fa950f04631" - } - } - ] -} diff --git a/docs/en/apm-server/data/intake-api/generated/events.ndjson b/docs/en/apm-server/data/intake-api/generated/events.ndjson deleted file mode 100644 index ed4af5a7e5..0000000000 --- a/docs/en/apm-server/data/intake-api/generated/events.ndjson +++ /dev/null @@ -1,5 +0,0 @@ -{"metadata":{"process":{"pid":1234,"title":"/usr/lib/jvm/java-10-openjdk-amd64/bin/java","ppid":1,"argv":["-v"]},"system":{"architecture":"amd64","detected_hostname":"8ec7ceb99074","configured_hostname":"host1","platform":"Linux","container":{"id":"8ec7ceb990749e79b37f6dc6cd3628633618d6ce412553a552a0fa6b69419ad4"},"kubernetes":{"namespace":"default","pod":{"uid":"b17f231da0ad128dc6c6c0b2e82f6f303d3893e3","name":"instrumented-java-service"},"node":{"name":"node-name"}}},"service":{"name":"1234_service-12a3","version":"4.3.0","node":{"configured_name":"8ec7ceb990749e79b37f6dc6cd3628633618d6ce412553a552a0fa6b69419ad4"},"environment":"production","language":{"name":"Java","version":"10.0.2"},"agent":{"version":"1.10.0","name":"java","ephemeral_id":"e71be9ac-93b0-44b9-a997-5638f6ccfc36"},"framework":{"name":"spring","version":"5.0.0"},"runtime":{"name":"Java","version":"10.0.2"}},"labels":{"group":"experimental","ab_testing":true,"segment":5}}} -{"error":{"id":"9876543210abcdeffedcba0123456789","timestamp":1571657444929001,"trace_id":"0123456789abcdeffedcba0123456789","parent_id":"9632587410abcdef","transaction_id":"1234567890987654","transaction":{"sampled":true,"type":"request"},"culprit":"opbeans.controllers.DTInterceptor.preHandle(DTInterceptor.java:73)","log":{"message":"Request method 'POST' not supported","param_message":"Request method 'POST' /events/:event not supported","logger_name":"http404","level":"error","stacktrace":[{"abs_path":"/tmp/Socket.java","filename":"Socket.java","classname":"Request::Socket","function":"connect","vars":{"key":"value"},"pre_context":["line1","line2"],"context_line":"line3","library_frame":true,"lineno":3,"module":"java.net","colno":4,"post_context":["line4","line5"]},{"filename":"SimpleBufferingClientHttpRequest.java","lineno":102,"function":"executeInternal","abs_path":"/tmp/SimpleBufferingClientHttpRequest.java","vars":{"key":"value"}}]},"exception":{"message":"Theusernamerootisunknown","type":"java.net.UnknownHostException","handled":true,"module":"org.springframework.http.client","code":42,"handled":false,"attributes":{"foo":"bar"},"cause":[{"type":"InternalDbError","message":"something wrong writing a file","cause":[{"type":"VeryInternalDbError","message":"disk spinning way too fast"},{"type":"ConnectionError","message":"on top of it,internet doesn't work"}]}],"stacktrace":[{"abs_path":"/tmp/AbstractPlainSocketImpl.java","filename":"AbstractPlainSocketImpl.java","function":"connect","vars":{"key":"value"},"pre_context":["line1","line2"],"context_line":"3","library_frame":true,"lineno":3,"module":"java.net","colno":4,"post_context":["line4","line5"]},{"filename":"AbstractClientHttpRequest.java","lineno":102,"function":"execute","vars":{"key":"value"}}]},"context":{"request":{"socket":{"remote_address":"12.53.12.1","encrypted":true},"http_version":"1.1","method":"POST","url":{"protocol":"https:","full":"https://www.example.com/p/a/t/h?query=string#hash","hostname":"www.example.com","port":8080,"pathname":"/p/a/t/h","search":"?query=string","hash":"#hash","raw":"/p/a/t/h?query=string#hash"},"headers":{"Forwarded": "for=192.168.0.1", "host":"opbeans-java:3000","content-length":"0","cookie":["c1=v1","c2=v2"],"Elastic-Apm-Traceparent":"00-8c21b4b556467a0b17ae5da959b5f388-31301f1fb2998121-01"},"cookies":{"c1":"v1","c2":"v2"},"env":{"SERVER_SOFTWARE":"nginx","GATEWAY_INTERFACE":"CGI/1.1"},"body":"HelloWorld"},"response":{"status_code":200,"headers":{"content-type":"application/json"},"headers_sent":true,"finished":true},"user":{"id":99,"username":"foo","email":"user@foo.mail"},"tags":{"organization_uuid":"9f0e9d64-c185-4d21-a6f4-4673ed561ec8"},"custom":{"my_key":1,"some_other_value":"foobar","and_objects":{"foo":["bar","baz"]}},"service":{"name":"service1","node":{"configured_name":"node-xyz"},"language":{"version":"1.2"},"framework":{"version":"1","name":"Node"}}}}} -{"span":{"timestamp":1571657444929001,"type":"external","subtype":"http","id":"1234567890aaaade","transaction_id":"1234567890987654","trace_id":"abcdef0123456789abcdef9876543210","parent_id":"abcdef0123456789","action":"connect","sync":true,"name":"GET users-authenticated", "duration":3.781912,"stacktrace":[{"filename":"DispatcherServlet.java","lineno":547},{"function":"render","abs_path":"/tmp/AbstractView.java","filename":"AbstractView.java","lineno":547,"library_frame":true,"vars":{"key":"value"},"module":"org.springframework.web.servlet.view","colno":4,"context_line":"line3"}],"context":{"db":{"instance":"customers","statement":"SELECT * FROM product_types WHERE user_id = ?","type":"sql","user":"postgres","link":"other.db.com"},"http":{"url":"http://localhost:8000","status_code":302,"method":"GET","response":{"status_code":200,"transfer_size":300.12,"encoded_body_size":356,"decoded_body_size":401,"headers":{"content-type":"application/json"}}},"service":{"name":"opbeans-java-1","agent":{"version":"1.10.0-SNAPSHOT","name":"java","ephemeral_id":"e71be9ac-93b0-44b9-a997-5638f6ccfc36"}}}}} -{"transaction":{"timestamp":1571657444929001,"name":"ResourceHttpRequestHandler","type":"http","id":"4340a8e0df1906ecbfa9","trace_id":"0acd456789abcdef0123456789abcdef","parent_id":"abcdefabcdef01234567","span_count":{"started":17,"dropped":0},"duration":32.592981,"result":"HTTP2xx","sampled":true,"context":{"service":{"name":"experimental-java","agent":{"version":"1.10.0-SNAPSHOT","ephemeral_id":"e71be9ac-93b0-44b9-a997-5638f6ccfc36"}},"request":{"socket":{"remote_address":"12.53.12.1:8080","encrypted":true},"http_version":"1.1","method":"POST","url":{"protocol":"https:","full":"https://www.example.com/p/a/t/h?query=string#hash","hostname":"www.example.com","port":"8080","pathname":"/p/a/t/h","search":"?query=string","hash":"#hash","raw":"/p/a/t/h?query=string#hash"},"headers":{"user-agent":["Mozilla/5.0(Macintosh;IntelMacOSX10_10_5)AppleWebKit/537.36(KHTML,likeGecko)Chrome/51.0.2704.103Safari/537.36","MozillaChromeEdge"],"content-type":"text/html","cookie":"c1=v1,c2=v2","Elastic-Apm-Traceparent":["00-33a0bd4cceff0370a7c57d807032688e-69feaabc5b88d7e8-01"]},"cookies":{"c1":"v1","c2":"v2"},"env":{"SERVER_SOFTWARE":"nginx","GATEWAY_INTERFACE":"CGI/1.1"},"body":{"string":"helloworld","additional":{"foo":{},"bar":123,"req":"additionalinformation"}}},"response":{"status_code":200,"transfer_size":300,"encoded_body_size":356.90,"decoded_body_size":401.90,"headers":{"content-type":"application/json"},"headers_sent":true,"finished":true}, "user":{"id":"99","username":"foo","email":"foo@mail.com"},"tags":{"organization_uuid":"9f0e9d64-c185-4d21-a6f4-4673ed561ec8","tag5":null},"custom":{"my_key":1,"some_other_value":"foobar","and_objects":{"foo":["bar","baz"]},"(":"notavalidregexandthatisfine"}}}} -{"metricset":{"samples":{"transaction.breakdown.count":{"value":12},"transaction.duration.sum.us":{"value":12},"transaction.duration.count":{"value":2},"transaction.self_time.sum.us":{"value":10},"transaction.self_time.count":{"value":2},"span.self_time.count":{"value":1},"span.self_time.sum.us":{"value":633.288},"byte_counter":{"value":1},"short_counter":{"value":227},"integer_gauge":{"value":42767},"long_gauge":{"value":3147483648},"float_gauge":{"value":9.16},"double_gauge":{"value":3.141592653589793},"dotted.float.gauge":{"value":6.12},"negative.d.o.t.t.e.d":{"value":-1022}},"tags":{"code":200,"success":true},"transaction":{"type":"request","name":"GET/"},"span":{"type":"db","subtype":"mysql"},"timestamp":1571657444929001}} diff --git a/docs/en/apm-server/data/intake-api/generated/rum_v3_events.ndjson b/docs/en/apm-server/data/intake-api/generated/rum_v3_events.ndjson deleted file mode 100644 index 9bca2a7d11..0000000000 --- a/docs/en/apm-server/data/intake-api/generated/rum_v3_events.ndjson +++ /dev/null @@ -1,2 +0,0 @@ -{"m": {"se": {"n": "apm-a-rum-test-e2e-general-usecase","ve": "0.0.1","en": "prod","a": {"n": "js-base","ve": "4.8.1"},"ru": {"n": "v8","ve": "8.0"},"la": {"n": "javascript","ve": "6"},"fw": {"n": "angular","ve": "2"}},"u": {"id": 123,"em": "user@email.com","un": "John Doe"},"l": {"testTagKey": "testTagValue"},"n":{"c":{"t":"5G"}}}} -{"x": {"id": "ec2e280be8345240","tid": "286ac3ad697892c406528f13c82e0ce1","pid": "1ef08ac234fca23b455d9e27c660f1ab","n": "general-usecase-initial-p-load","t": "p-load","d": 295,"me": [{"sa": {"xdc": {"v": 1},"xds": {"v": 295},"xbc": {"v": 1}}},{"y": {"t": "Request"},"sa": {"ysc": {"v": 1},"yss": {"v": 1}}},{"y": {"t": "Response"},"sa": {"ysc": {"v": 1},"yss": {"v": 1}}}],"y": [{"id": "bbd8bcc3be14d814","n": "Requesting and receiving the document","t": "hard-navigation","su": "browser-timing","s": 4,"d": 2},{"id": "fc546e87a90a774f","n": "Parsing the document, executing sy. scripts","t": "hard-navigation","su": "browser-timing","s": 14,"d": 106},{"id": "fb8f717930697299","n": "http://localhost:8000/test/e2e/general-usecase/app.e2e-bundle.min.js","t": "rc","su": "script","s": 22.53499999642372,"d": 35.060000023804605,"c": {"h": {"url": "http://localhost:8000/test/e2e/general-usecase/app.e2e-bundle.min.js?token=REDACTED","r": {"ts": 677175,"ebs": 676864,"dbs": 676864}},"dt": {"se": {"n": "http://localhost:8000","rc": "localhost:8000","t": "rc"},"ad": "localhost","po": 8000}}},{"id": "9b80535c4403c9fb","n": "OpenTracing y","t": "cu","s": 96.92999999970198,"d": 198.07000000029802},{"id": "5ecb8ee030749715","n": "GET /test/e2e/common/data.json","t": "external","su": "h","sy": true,"s": 98.94000005442649,"d": 6.72499998472631,"c": {"h": {"mt": "GET","url": "http://localhost:8000/test/e2e/common/data.json?test=hamid","sc": 200},"dt": {"se": {"n": "http://localhost:8000","rc": "localhost:8000","t": "external"},"ad": "localhost","po": 8000}}},{"id": "27f45fd274f976d4","n": "POST http://localhost:8003/data","t": "external","su": "h","sy": true,"s": 106.52000003028661,"d": 11.584999971091747,"c": {"h": {"mt": "POST","url": "http://localhost:8003/data","sc": 200},"dt": {"se": {"n": "http://localhost:8003","rc": "localhost:8003","t": "external"},"ad": "localhost","po": 8003}}},{"id": "a3c043330bc2015e","pi": 0,"n": "POST http://localhost:8003/fetch","t": "external","su": "h","ac": "action","sy": false,"s": 119.93500008247793,"d": 15.949999913573265,"c": {"h": {"mt": "POST","url": "http://localhost:8003/fetch","sc": 200},"dt": {"se": {"n": "http://localhost:8003","rc": "localhost:8003","t": "external"},"ad": "localhost","po": 8003}}},{"id": "bc7665dc25629379","st": [{"ap": "http://localhost:8000/test/e2e/general-usecase/app.e2e-bundle.min.js?token=secret","f": "test/e2e/general-usecase/app.e2e-bundle.min.js?token=secret","fn": "generateError","li": 7662,"co": 9},{"ap": "http://localhost:8000/test/e2e/general-usecase/app.e2e-bundle.min.js?token=secret","f": "test/e2e/general-usecase/app.e2e-bundle.min.js?token=secret","fn": "","li": 7666,"co": 3}],"n": "Fire \"DOMContentLoaded\" event","t": "hard-navigation","su": "browser-timing","s": 120,"d": 2,"o":"success"}],"c": {"p": {"rf": "http://localhost:8000/test/e2e/","url": "http://localhost:8000/test/e2e/general-usecase/"},"r": {"sc": 200,"ts": 983,"ebs": 690,"dbs": 690,"he": {"Content-Type": "application/json"}},"q": {"he": {"Accept": "application/json"},"hve": "1.1","mt": "GET"},"u": {"id": "uId","un": "un","em": "em"},"cu": {"testContext": "testContext"},"g": {"testTagKey": "testTagValue"}},"k": {"a": {"lp": 131.03000004775822,"fb": 5,"di": 120,"dc": 138,"ds": 100,"de": 110,"fp": 70.82500003930181},"nt": {"fs": 0,"ls": 0,"le": 0,"cs": 0,"ce": 0,"qs": 4,"rs": 5,"re": 6,"dl": 14,"di": 120,"ds": 120,"de": 122,"dc": 138,"es": 138,"ee": 138}},"yc": {"sd": 8,"dd": 1},"sm": true,"exp":{"cls":1,"fid":2.0,"tbt":3.4,"ignored":5,"also":"ignored","lt":{"count":3,"sum":2.5,"max":1}}}} diff --git a/docs/en/apm-server/data/intake-api/generated/sourcemap/bundle.js.map b/docs/en/apm-server/data/intake-api/generated/sourcemap/bundle.js.map deleted file mode 100644 index 812c802932..0000000000 --- a/docs/en/apm-server/data/intake-api/generated/sourcemap/bundle.js.map +++ /dev/null @@ -1,38 +0,0 @@ -{ - "version": 3, - "sources": [ - "webpack:///bundle.js", - "webpack:///webpack/bootstrap 6002740481c9666b0d38", - "webpack:///./scripts/index.js", - "webpack:///./index.html", - "webpack:///./scripts/app.js" - ], - "names": [ - "modules", - "__webpack_require__", - "moduleId", - "installedModules", - "exports", - "module", - "id", - "loaded", - "call", - "m", - "c", - "p", - "foo", - "console", - "log", - "foobar" - ], - "mappings": "CAAS,SAAUA,GCInB,QAAAC,GAAAC,GAGA,GAAAC,EAAAD,GACA,MAAAC,GAAAD,GAAAE,OAGA,IAAAC,GAAAF,EAAAD,IACAE,WACAE,GAAAJ,EACAK,QAAA,EAUA,OANAP,GAAAE,GAAAM,KAAAH,EAAAD,QAAAC,IAAAD,QAAAH,GAGAI,EAAAE,QAAA,EAGAF,EAAAD,QAvBA,GAAAD,KAqCA,OATAF,GAAAQ,EAAAT,EAGAC,EAAAS,EAAAP,EAGAF,EAAAU,EAAA,GAGAV,EAAA,KDMM,SAASI,EAAQD,EAASH,GE3ChCA,EAAA,GAEAA,EAAA,GAEAW,OFmDM,SAASP,EAAQD,EAASH,GGxDhCI,EAAAD,QAAAH,EAAAU,EAAA,cH8DM,SAASN,EAAQD,GI9DvB,QAAAQ,KACAC,QAAAC,IAAAC,QAGAH", - "file": "bundle.js", - "sourcesContent": [ - "/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t// Webpack\n\t__webpack_require__(1)\n\t\n\t__webpack_require__(2)\n\t\n\tfoo()\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tmodule.exports = __webpack_require__.p + \"index.html\"\n\n/***/ },\n/* 2 */\n/***/ function(module, exports) {\n\n\tfunction foo() {\n\t console.log(foobar)\n\t}\n\t\n\tfoo()\n\n\n/***/ }\n/******/ ]);\n\n\n/** WEBPACK FOOTER **\n ** bundle.js\n **/", - " \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 6002740481c9666b0d38\n **/", - "// Webpack\nrequire('../index.html')\n\nrequire('./app')\n\nfoo()\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./scripts/index.js\n ** module id = 0\n ** module chunks = 0\n **/", - "module.exports = __webpack_public_path__ + \"index.html\"\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./index.html\n ** module id = 1\n ** module chunks = 0\n **/", - "function foo() {\n console.log(foobar)\n}\n\nfoo()\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./scripts/app.js\n ** module id = 2\n ** module chunks = 0\n **/" - ], - "sourceRoot": "" -} diff --git a/docs/en/apm-server/legacy/metadata-api.asciidoc b/docs/en/apm-server/legacy/metadata-api.asciidoc index 45c69529ed..f7e99eaf5b 100644 --- a/docs/en/apm-server/legacy/metadata-api.asciidoc +++ b/docs/en/apm-server/legacy/metadata-api.asciidoc @@ -62,5 +62,5 @@ APM Server uses JSON Schema to validate requests. The specification for metadata [source,json] ---- -include::../spec/v2/metadata.json[] +include::{apm-server-root}/docs/spec/v2/metadata.json[] ---- \ No newline at end of file diff --git a/docs/en/apm-server/legacy/metricset-api.asciidoc b/docs/en/apm-server/legacy/metricset-api.asciidoc index 4a42e2e4b3..2dfe58d6ee 100644 --- a/docs/en/apm-server/legacy/metricset-api.asciidoc +++ b/docs/en/apm-server/legacy/metricset-api.asciidoc @@ -12,5 +12,5 @@ APM Server uses JSON Schema to validate requests. The specification for metrics [source,json] ---- -include::../spec/v2/metricset.json[] +include::{apm-server-root}/docs/spec/v2/metricset.json[] ---- diff --git a/docs/en/apm-server/release-notes.asciidoc b/docs/en/apm-server/release-notes.asciidoc index cb088ae101..d15230c144 100644 --- a/docs/en/apm-server/release-notes.asciidoc +++ b/docs/en/apm-server/release-notes.asciidoc @@ -9,11 +9,15 @@ This section summarizes the changes in each release. **APM integration and APM Server** +<<<<<<< HEAD * <> * <> * <> * <> * <> +======= +include::{apm-server-root}/CHANGELOG.asciidoc[tag=list] +>>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) Looking for a previous version? See the {apm-guide-7x}/release-notes.html[7.x release notes]. @@ -37,4 +41,4 @@ See the {kibana-ref}/release-notes.html[Kibana release notes]. * https://github.com/elastic/apm-aws-lambda/blob/main/CHANGELOG.asciidoc[Elastic APM AWS Lambda extension] -include::{apm-server-root}/CHANGELOG.asciidoc[] +include::{apm-server-root}/CHANGELOG.asciidoc[tag=includes] diff --git a/docs/en/apm-server/spec/rumv3/metadata.json b/docs/en/apm-server/spec/rumv3/metadata.json deleted file mode 100644 index 876ac03a6d..0000000000 --- a/docs/en/apm-server/spec/rumv3/metadata.json +++ /dev/null @@ -1,218 +0,0 @@ -{ - "$id": "docs/spec/rumv3/metadata", - "type": "object", - "properties": { - "l": { - "description": "Labels are a flat mapping of user-defined tags. Allowed value types are string, boolean and number values. Labels are indexed and searchable.", - "type": [ - "null", - "object" - ], - "additionalProperties": { - "type": [ - "null", - "string", - "boolean", - "number" - ], - "maxLength": 1024 - } - }, - "n": { - "description": "Network holds information about the network over which the monitored service is communicating.", - "type": [ - "null", - "object" - ], - "properties": { - "c": { - "type": [ - "null", - "object" - ], - "properties": { - "t": { - "type": [ - "null", - "string" - ], - "maxLength": 1024 - } - } - } - } - }, - "se": { - "description": "Service metadata about the monitored service.", - "type": "object", - "properties": { - "a": { - "description": "Agent holds information about the APM agent capturing the event.", - "type": "object", - "properties": { - "n": { - "description": "Name of the APM agent capturing information.", - "type": "string", - "maxLength": 1024, - "minLength": 1 - }, - "ve": { - "description": "Version of the APM agent capturing information.", - "type": "string", - "maxLength": 1024 - } - }, - "required": [ - "n", - "ve" - ] - }, - "en": { - "description": "Environment in which the monitored service is running, e.g. `production` or `staging`.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - }, - "fw": { - "description": "Framework holds information about the framework used in the monitored service.", - "type": [ - "null", - "object" - ], - "properties": { - "n": { - "description": "Name of the used framework", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - }, - "ve": { - "description": "Version of the used framework", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - } - } - }, - "la": { - "description": "Language holds information about the programming language of the monitored service.", - "type": [ - "null", - "object" - ], - "properties": { - "n": { - "description": "Name of the used programming language", - "type": "string", - "maxLength": 1024 - }, - "ve": { - "description": "Version of the used programming language", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - } - }, - "required": [ - "n" - ] - }, - "n": { - "description": "Name of the monitored service.", - "type": "string", - "maxLength": 1024, - "minLength": 1, - "pattern": "^[a-zA-Z0-9 _-]+$" - }, - "ru": { - "description": "Runtime holds information about the language runtime running the monitored service", - "type": [ - "null", - "object" - ], - "properties": { - "n": { - "description": "Name of the language runtime", - "type": "string", - "maxLength": 1024 - }, - "ve": { - "description": "Name of the language runtime", - "type": "string", - "maxLength": 1024 - } - }, - "required": [ - "n", - "ve" - ] - }, - "ve": { - "description": "Version of the monitored service.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - } - }, - "required": [ - "a", - "n" - ] - }, - "u": { - "description": "User metadata, which can be overwritten on a per event basis.", - "type": [ - "null", - "object" - ], - "properties": { - "em": { - "description": "Email of the user.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - }, - "id": { - "description": "ID identifies the logged in user, e.g. can be the primary key of the user", - "type": [ - "null", - "string", - "integer" - ], - "maxLength": 1024 - }, - "ud": { - "description": "Domain of the user", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - }, - "un": { - "description": "Name of the user.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - } - } - } - }, - "required": [ - "se" - ] -} \ No newline at end of file diff --git a/docs/en/apm-server/spec/v2/metricset.json b/docs/en/apm-server/spec/v2/metricset.json deleted file mode 100644 index 01760a1f6d..0000000000 --- a/docs/en/apm-server/spec/v2/metricset.json +++ /dev/null @@ -1,301 +0,0 @@ -{ - "$id": "docs/spec/v2/metricset", - "type": "object", - "properties": { - "faas": { - "description": "FAAS holds fields related to Function as a Service events.", - "type": [ - "null", - "object" - ], - "properties": { - "coldstart": { - "description": "Indicates whether a function invocation was a cold start or not.", - "type": [ - "null", - "boolean" - ] - }, - "execution": { - "description": "The request id of the function invocation.", - "type": [ - "null", - "string" - ] - }, - "id": { - "description": "A unique identifier of the invoked serverless function.", - "type": [ - "null", - "string" - ] - }, - "name": { - "description": "The lambda function name.", - "type": [ - "null", - "string" - ] - }, - "trigger": { - "description": "Trigger attributes.", - "type": [ - "null", - "object" - ], - "properties": { - "request_id": { - "description": "The id of the origin trigger request.", - "type": [ - "null", - "string" - ] - }, - "type": { - "description": "The trigger type.", - "type": [ - "null", - "string" - ] - } - } - }, - "version": { - "description": "The lambda function version.", - "type": [ - "null", - "string" - ] - } - } - }, - "samples": { - "description": "Samples hold application metrics collected from the agent.", - "type": "object", - "additionalProperties": false, - "patternProperties": { - "^[^*\"]*$": { - "type": [ - "null", - "object" - ], - "properties": { - "counts": { - "description": "Counts holds the bucket counts for histogram metrics. These numbers must be positive or zero. If Counts is specified, then Values is expected to be specified with the same number of elements, and with the same order.", - "type": [ - "null", - "array" - ], - "items": { - "type": "integer", - "minimum": 0 - }, - "minItems": 0 - }, - "type": { - "description": "Type holds an optional metric type: gauge, counter, or histogram. If Type is unknown, it will be ignored.", - "type": [ - "null", - "string" - ] - }, - "unit": { - "description": "Unit holds an optional unit for the metric. - \"percent\" (value is in the range [0,1]) - \"byte\" - a time unit: \"nanos\", \"micros\", \"ms\", \"s\", \"m\", \"h\", \"d\" If Unit is unknown, it will be ignored.", - "type": [ - "null", - "string" - ] - }, - "value": { - "description": "Value holds the value of a single metric sample.", - "type": [ - "null", - "number" - ] - }, - "values": { - "description": "Values holds the bucket values for histogram metrics. Values must be provided in ascending order; failure to do so will result in the metric being discarded.", - "type": [ - "null", - "array" - ], - "items": { - "type": "number" - }, - "minItems": 0 - } - }, - "allOf": [ - { - "if": { - "properties": { - "counts": { - "type": "array" - } - }, - "required": [ - "counts" - ] - }, - "then": { - "properties": { - "values": { - "type": "array" - } - }, - "required": [ - "values" - ] - } - }, - { - "if": { - "properties": { - "values": { - "type": "array" - } - }, - "required": [ - "values" - ] - }, - "then": { - "properties": { - "counts": { - "type": "array" - } - }, - "required": [ - "counts" - ] - } - } - ], - "anyOf": [ - { - "properties": { - "value": { - "type": "number" - } - }, - "required": [ - "value" - ] - }, - { - "properties": { - "values": { - "type": "array" - } - }, - "required": [ - "values" - ] - } - ] - } - } - }, - "service": { - "description": "Service holds selected information about the correlated service.", - "type": [ - "null", - "object" - ], - "properties": { - "name": { - "description": "Name of the correlated service.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - }, - "version": { - "description": "Version of the correlated service.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - } - } - }, - "span": { - "description": "Span holds selected information about the correlated transaction.", - "type": [ - "null", - "object" - ], - "properties": { - "subtype": { - "description": "Subtype is a further sub-division of the type (e.g. postgresql, elasticsearch)", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - }, - "type": { - "description": "Type expresses the correlated span's type as keyword that has specific relevance within the service's domain, eg: 'request', 'backgroundjob'.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - } - } - }, - "tags": { - "description": "Tags are a flat mapping of user-defined tags. On the agent side, tags are called labels. Allowed value types are string, boolean and number values. Tags are indexed and searchable.", - "type": [ - "null", - "object" - ], - "additionalProperties": { - "type": [ - "null", - "string", - "boolean", - "number" - ], - "maxLength": 1024 - } - }, - "timestamp": { - "description": "Timestamp holds the recorded time of the event, UTC based and formatted as microseconds since Unix epoch", - "type": [ - "null", - "integer" - ] - }, - "transaction": { - "description": "Transaction holds selected information about the correlated transaction.", - "type": [ - "null", - "object" - ], - "properties": { - "name": { - "description": "Name of the correlated transaction.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - }, - "type": { - "description": "Type expresses the correlated transaction's type as keyword that has specific relevance within the service's domain, eg: 'request', 'backgroundjob'.", - "type": [ - "null", - "string" - ], - "maxLength": 1024 - } - } - } - }, - "required": [ - "samples" - ] -} \ No newline at end of file diff --git a/docs/en/apm-server/upgrading.asciidoc b/docs/en/apm-server/upgrading.asciidoc index 613be6c1ae..7fff4d29bf 100644 --- a/docs/en/apm-server/upgrading.asciidoc +++ b/docs/en/apm-server/upgrading.asciidoc @@ -10,7 +10,7 @@ This guide gives general recommendations for upgrading Elastic APM. include::./agent-server-compatibility.asciidoc[] -include::./apm-breaking.asciidoc[] +include::{apm-server-root}/changelogs/all-breaking-changes.asciidoc[] include::./upgrading-to-8.x.asciidoc[] From 0e2fb060eba0a06cb9b996c17ac67b6dad13e4d3 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Thu, 21 Dec 2023 10:52:58 -0600 Subject: [PATCH 2/4] fix conflicts --- docs/en/apm-server/data-model.asciidoc | 158 ---------------------- docs/en/apm-server/release-notes.asciidoc | 8 -- 2 files changed, 166 deletions(-) diff --git a/docs/en/apm-server/data-model.asciidoc b/docs/en/apm-server/data-model.asciidoc index 539ad3ee9c..4250491f2a 100644 --- a/docs/en/apm-server/data-model.asciidoc +++ b/docs/en/apm-server/data-model.asciidoc @@ -252,29 +252,6 @@ For a full list of tracked metrics, see the relevant agent documentation: * {apm-ruby-ref-v}/metrics.html[Ruby] [float] -<<<<<<< HEAD -======= -===== Example system metric document - -This example shows what system metric documents can look like when indexed in {es}. - -[%collapsible] -.Expand {es} document -==== - -This example contains JVM metrics produced by the {apm-java-agent}. -and contains two related metrics: `jvm.gc.time` and `jvm.gc.count`. These are accompanied by various fields describing -the environment in which the metrics were captured: service name, host name, Kubernetes pod UID, container ID, process ID, and more. -These fields make it possible to search and aggregate across various dimensions, such as by service, host, and Kubernetes pod. - -[source,json] ----- -include::{apm-server-root}/docs/data/elasticsearch/metricset.json[] ----- -==== - -[float] ->>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) ==== Calculated metrics APM agents and APM Server calculate metrics from trace events to power visualizations in the {apm-app}. @@ -306,24 +283,6 @@ You can filter and group by these dimensions: -- [float] -<<<<<<< HEAD -======= -===== Example breakdown metric document - -This example shows what breakdown metric documents can look like when indexed in {es}. - -[%collapsible] -.Expand {es} document -==== - -[source,json] ----- -include::{apm-server-root}/docs/data/elasticsearch/span_breakdown.json[] ----- -==== - -[float] ->>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) ===== Transaction metrics To power {kibana-ref}/xpack-apm.html[{apm-app}] visualizations, @@ -376,70 +335,6 @@ You can filter and group by these dimensions (some of which are optional, for ex The `@timestamp` field of these documents holds the start of the aggregation interval. [float] -<<<<<<< HEAD -======= -===== Example transaction document - -This example shows what transaction documents can look like when indexed in {es}. - -[%collapsible] -.Expand {es} document -==== - -[source,json] ----- -include::{apm-server-root}/docs/data/elasticsearch/transaction_metric.json[] ----- -==== - -[float] -===== Service-transaction metrics - -To power {kibana-ref}/xpack-apm.html[{apm-app}] visualizations, -APM Server aggregates transaction events into service-transaction metrics. -Service-transaction metrics are similar to transaction metrics, but they usually -have a much lower cardinality as they have significantly fewer dimensions. -The UI uses them when fewer details of the transactions are needed. - -*`transaction.duration.summary`* and *`transaction.duration.histogram`*:: -+ --- -These metrics represent the latency summary and latency distribution of service transaction groups, -used to power service-oriented visualizations and analytics in Elastic APM. - -These metric documents can be identified by searching for `metricset.name: service_transaction`. - -You can filter and group by these dimensions: - -* `agent.name`: The name of the {apm-agent} that instrumented the operation, for example `java` -* `labels`: Key-value object containing string labels set globally by the APM agents. -* `metricset.interval`: A string with the aggregation interval the metricset represents. -* `numeric_labels`: Key-value object containing numeric labels set globally by the APM agents. -* `service.environment`: The environment of the service that made the request -* `service.language.name`: The language name of the service that served the transaction, for example `Go` -* `service.name`: The name of the service that made the request -* `transaction.type`: The type of the enclosing transaction, for example `request` --- - -The `@timestamp` field of these documents holds the start of the aggregation interval. - -[float] -===== Example service-transaction document - -This example shows what service-transaction documents can look like when indexed in {es}. - -[%collapsible] -.Expand {es} document -==== - -[source,json] ----- -include::{apm-server-root}/docs/data/elasticsearch/service_transaction_metric.json[] ----- -==== - -[float] ->>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) ===== Service-destination metrics To power {kibana-ref}/xpack-apm.html[{apm-app}] visualizations, @@ -469,59 +364,6 @@ You can filter and group by these dimensions: The `@timestamp` field of these documents holds the start of the aggregation interval. [float] -<<<<<<< HEAD -======= -===== Example service-destination document - -This example shows what service-destination documents can look like when indexed in {es}. - -[%collapsible] -.Expand {es} document -==== - -[source,json] ----- -include::{apm-server-root}/docs/data/elasticsearch/service_destination_metric.json[] ----- -==== - -[float] -===== Service-summary metrics - -To power {kibana-ref}/xpack-apm.html[{apm-app}] visualizations, -APM Server aggregates transaction, error, log, and metric events into service-summary metrics. - -These metric documents can be identified by searching for `metricset.name: service_summary`. - -You can filter and group by these dimensions: - -* `agent.name`: The name of the {apm-agent} that instrumented the operation, for example `java` -* `labels`: Key-value object containing string labels set globally by the APM agents. -* `metricset.interval`: A string with the aggregation interval the metricset represents. -* `numeric_labels`: Key-value object containing numeric labels set globally by the APM agents. -* `service.environment`: The environment of the service that made the request -* `service.language.name`: The language name of the service that served the transaction, for example `Go` -* `service.name`: The name of the service that made the request - -The `@timestamp` field of these documents holds the start of the aggregation interval. - -[float] -===== Example service-summary document - -This example shows what service-summary documents can look like when indexed in {es}. - -[%collapsible] -.Expand {es} document -==== - -[source,json] ----- -include::{apm-server-root}/docs/data/elasticsearch/service_summary_metric.json[] ----- -==== - -[float] ->>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) ==== Data streams Metrics are stored in the following data streams: diff --git a/docs/en/apm-server/release-notes.asciidoc b/docs/en/apm-server/release-notes.asciidoc index d15230c144..21d1923ae8 100644 --- a/docs/en/apm-server/release-notes.asciidoc +++ b/docs/en/apm-server/release-notes.asciidoc @@ -9,15 +9,7 @@ This section summarizes the changes in each release. **APM integration and APM Server** -<<<<<<< HEAD -* <> -* <> -* <> -* <> -* <> -======= include::{apm-server-root}/CHANGELOG.asciidoc[tag=list] ->>>>>>> d4309b55 ([apm docs consolidation] Clean up (#3476)) Looking for a previous version? See the {apm-guide-7x}/release-notes.html[7.x release notes]. From 19600447bd1e6b786a148e0b16fe8cdfceaef9af Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Tue, 2 Jan 2024 16:42:32 -0600 Subject: [PATCH 3/4] fix build errors --- docs/en/apm-server/data-model.asciidoc | 2 +- docs/en/apm-server/legacy/error-api.asciidoc | 2 +- docs/en/apm-server/legacy/error-indices.asciidoc | 2 +- docs/en/apm-server/legacy/example-intake-events.asciidoc | 2 +- docs/en/apm-server/legacy/metricset-indices.asciidoc | 2 +- docs/en/apm-server/legacy/span-api.asciidoc | 2 +- docs/en/apm-server/legacy/span-indices.asciidoc | 2 +- docs/en/apm-server/legacy/transaction-api.asciidoc | 2 +- docs/en/apm-server/legacy/transaction-indices.asciidoc | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/en/apm-server/data-model.asciidoc b/docs/en/apm-server/data-model.asciidoc index 4250491f2a..f8cd3ac31e 100644 --- a/docs/en/apm-server/data-model.asciidoc +++ b/docs/en/apm-server/data-model.asciidoc @@ -388,7 +388,7 @@ These fields make it possible to search and aggregate across various dimensions, [source,json] ---- -include::./data/elasticsearch/metricset.json[] +include::{apm-server-root}/docs/data/elasticsearch/metricset.json[] ---- ==== diff --git a/docs/en/apm-server/legacy/error-api.asciidoc b/docs/en/apm-server/legacy/error-api.asciidoc index 776f2de1bc..63a3ed883a 100644 --- a/docs/en/apm-server/legacy/error-api.asciidoc +++ b/docs/en/apm-server/legacy/error-api.asciidoc @@ -12,5 +12,5 @@ APM Server uses JSON Schema to validate requests. The specification for errors i [source,json] ---- -include::../spec/v2/error.json[] +include::{apm-server-root}/docs/spec/v2/error.json[] ---- diff --git a/docs/en/apm-server/legacy/error-indices.asciidoc b/docs/en/apm-server/legacy/error-indices.asciidoc index 4b7a74ea5d..e34b43530b 100644 --- a/docs/en/apm-server/legacy/error-indices.asciidoc +++ b/docs/en/apm-server/legacy/error-indices.asciidoc @@ -9,5 +9,5 @@ This example shows what error documents can look like when indexed in {es}: [source,json] ---- -include::../data/elasticsearch/generated/errors.json[] +include::{apm-server-root}/docs/data/elasticsearch/generated/errors.json[] ---- diff --git a/docs/en/apm-server/legacy/example-intake-events.asciidoc b/docs/en/apm-server/legacy/example-intake-events.asciidoc index f7731ae9b3..ff9e2c236c 100644 --- a/docs/en/apm-server/legacy/example-intake-events.asciidoc +++ b/docs/en/apm-server/legacy/example-intake-events.asciidoc @@ -5,5 +5,5 @@ A request body example containing one event for all currently supported event ty [source,json] ---- -include::../data/intake-api/generated/events.ndjson[] +include::{apm-server-root}/docs/data/intake-api/generated/events.ndjson[] ---- diff --git a/docs/en/apm-server/legacy/metricset-indices.asciidoc b/docs/en/apm-server/legacy/metricset-indices.asciidoc index c6e1502391..f55a97950b 100644 --- a/docs/en/apm-server/legacy/metricset-indices.asciidoc +++ b/docs/en/apm-server/legacy/metricset-indices.asciidoc @@ -136,5 +136,5 @@ These fields make it possible to search and aggregate across various dimensions, [source,json] ---- -include::../data/elasticsearch/metricset.json[] +include::{apm-server-root}/docs/data/elasticsearch/metricset.json[] ---- diff --git a/docs/en/apm-server/legacy/span-api.asciidoc b/docs/en/apm-server/legacy/span-api.asciidoc index 3b42cf25fe..2c44c4eb22 100644 --- a/docs/en/apm-server/legacy/span-api.asciidoc +++ b/docs/en/apm-server/legacy/span-api.asciidoc @@ -12,5 +12,5 @@ APM Server uses JSON Schema to validate requests. The specification for spans is [source,json] ---- -include::../spec/v2/span.json[] +include::{apm-server-root}/docs/spec/v2/span.json[] ---- diff --git a/docs/en/apm-server/legacy/span-indices.asciidoc b/docs/en/apm-server/legacy/span-indices.asciidoc index 4a82cebf1f..8e02f88447 100644 --- a/docs/en/apm-server/legacy/span-indices.asciidoc +++ b/docs/en/apm-server/legacy/span-indices.asciidoc @@ -9,5 +9,5 @@ This example shows what span documents can look like when indexed in {es}: [source,json] ---- -include::../data/elasticsearch/generated/spans.json[] +include::{apm-server-root}/docs/data/elasticsearch/generated/spans.json[] ---- diff --git a/docs/en/apm-server/legacy/transaction-api.asciidoc b/docs/en/apm-server/legacy/transaction-api.asciidoc index 9569174167..30b8ae0363 100644 --- a/docs/en/apm-server/legacy/transaction-api.asciidoc +++ b/docs/en/apm-server/legacy/transaction-api.asciidoc @@ -12,5 +12,5 @@ APM Server uses JSON Schema to validate requests. The specification for transact [source,json] ---- -include::../spec/v2/transaction.json[] +include::{apm-server-root}/docs/spec/v2/transaction.json[] ---- diff --git a/docs/en/apm-server/legacy/transaction-indices.asciidoc b/docs/en/apm-server/legacy/transaction-indices.asciidoc index e5db23db4e..58c6eb770c 100644 --- a/docs/en/apm-server/legacy/transaction-indices.asciidoc +++ b/docs/en/apm-server/legacy/transaction-indices.asciidoc @@ -9,5 +9,5 @@ This example shows what transaction documents can look like when indexed in {es} [source,json] ---- -include::../data/elasticsearch/generated/transactions.json[] +include::{apm-server-root}/docs/data/elasticsearch/generated/transactions.json[] ---- From c9066ce6aa641159164f8c130df32d108a123cd3 Mon Sep 17 00:00:00 2001 From: Colleen McGinnis Date: Tue, 2 Jan 2024 17:10:08 -0600 Subject: [PATCH 4/4] update reference to bundle.js.map file --- docs/en/apm-server/legacy/sourcemap-indices.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/apm-server/legacy/sourcemap-indices.asciidoc b/docs/en/apm-server/legacy/sourcemap-indices.asciidoc index ed1dfc0a68..1009056397 100644 --- a/docs/en/apm-server/legacy/sourcemap-indices.asciidoc +++ b/docs/en/apm-server/legacy/sourcemap-indices.asciidoc @@ -9,5 +9,5 @@ This example shows what a source map document can look like when indexed in {es} [source,json] ---- -include::../data/intake-api/generated/sourcemap/bundle.js.map[] +include::{apm-server-root}/docs/data/intake-api/generated/sourcemap/bundle.js.map[] ----