Skip to content

Commit

Permalink
Merge branch 'master' into fix-flakiness-timelion-cloud
Browse files Browse the repository at this point in the history
  • Loading branch information
kibanamachine authored Jan 7, 2021
2 parents 04d3373 + ba20a74 commit a3d62c1
Show file tree
Hide file tree
Showing 1,101 changed files with 18,472 additions and 10,897 deletions.
2 changes: 1 addition & 1 deletion .ci/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# NOTE: This Dockerfile is ONLY used to run certain tasks in CI. It is not used to run Kibana or as a distributable.
# If you're looking for the Kibana Docker image distributable, please see: src/dev/build/tasks/os_packages/docker_generator/templates/dockerfile.template.ts

ARG NODE_VERSION=14.15.3
ARG NODE_VERSION=14.15.4

FROM node:${NODE_VERSION} AS base

Expand Down
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -138,6 +138,10 @@
/x-pack/test/functional/apps/maps/ @elastic/kibana-gis
/x-pack/test/functional/es_archives/maps/ @elastic/kibana-gis
/x-pack/test/visual_regression/tests/maps/index.js @elastic/kibana-gis
/x-pack/plugins/stack_alerts/server/alert_types/geo_containment @elastic/kibana-gis
/x-pack/plugins/stack_alerts/public/alert_types/geo_containment @elastic/kibana-gis
/x-pack/plugins/stack_alerts/server/alert_types/geo_threshold @elastic/kibana-gis
/x-pack/plugins/stack_alerts/public/alert_types/geo_threshold @elastic/kibana-gis
#CC# /src/plugins/maps_legacy/ @elastic/kibana-gis
#CC# /src/plugins/maps_oss/ @elastic/kibana-gis
#CC# /x-pack/plugins/file_upload @elastic/kibana-gis
Expand Down
14 changes: 14 additions & 0 deletions dev_docs/api_welcome.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
id: kibDevDocsApiWelcome
slug: /kibana-dev-docs/api-welcome
title: Welcome
summary: The home of automatically generated plugin API documentation using extracted TSDocs
date: 2021-01-02
tags: ['kibana','dev', 'contributor', 'api docs']
---

Welcome to Kibana's plugin API documentation. As a plugin developer, this is where you can
learn the details of every service you can take advantage of to help you build awe-inspiring creative solutions and applications!

If you have any questions or issues, please reach out to the Kibana platform team or create an issue [here](https://github.com/elastic/kibana/issues).

17 changes: 17 additions & 0 deletions dev_docs/dev_welcome.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
id: kibDevDocsWelcome
slug: /kibana-dev-docs/welcome
title: Welcome
summary: Build custom solutions and applications on top of Kibana.
date: 2021-01-02
tags: ['kibana','dev', 'contributor']
---

Welcome to Kibana's plugin developer documentation!

Did you know that the vast majority of functionality built inside of Kibana is a plugin? A handful of core services hold the system together,
but it's our vast system of plugin developers that provide the amazing, out of the box, functionality you can use when building your own set of
custom utilities and applications.

Browse the `Services` section to view all the plugins that offer functionality you can take advantage of, or check out the
`API documentation` to dig into the nitty gritty details of every public plugin API.
6 changes: 3 additions & 3 deletions docs/apm/deployment-annotations.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
<titleabbrev>Track deployments with annotations</titleabbrev>
++++

[role="screenshot"]
image::apm/images/apm-transaction-annotation.png[Example view of transactions annotation in the APM app in Kibana]

For enhanced visibility into your deployments, we offer deployment annotations on all transaction charts.
This feature enables you to easily determine if your deployment has increased response times for an end-user,
or if the memory/CPU footprint of your application has changed.
Expand Down Expand Up @@ -43,6 +46,3 @@ See the <<apm-annotation-api,annotation API>> reference for more information.


NOTE: If custom annotations have been created for the selected time period, any derived annotations, i.e., those created automatically when `service.version` changes, will not be shown.

[role="screenshot"]
image::apm/images/apm-transaction-annotation.png[Example view of transactions annotation in the APM app in Kibana]
2 changes: 1 addition & 1 deletion docs/apm/errors.asciidoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[role="xpack"]
[[errors]]
=== Errors overview
=== Errors

TIP: {apm-overview-ref-v}/errors.html[Errors] are groups of exceptions with a similar exception or log message.

Expand Down
26 changes: 11 additions & 15 deletions docs/apm/getting-started.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,20 @@
<titleabbrev>Get started</titleabbrev>
++++

Elastic APM captures different types of information from within instrumented applications:

* *Spans* contain information about the execution of a specific code path.
They measure from the start to end of an activity,
and they can have a parent/child relationship with other spans.
* *Transactions* are a special kind of span;
they are the first span for a particular service and have extra metadata associated with them.
As an example, a transaction could be a request to your server, a batch job, or a custom transaction type.
*Traces* link together related transactions to show an end-to-end performance of how a request was served and which services were part of it.
* *Errors* contain information about the original exception that occurred or about a log created when the exception occurred.

Curated charts and tables display the different types of APM data, which allows you to compare and debug your applications easily.
For a quick, high-level overview of the health and performance of your application,
start with:

* <<services>>
* <<traces>>
* <<service-maps>>

Notice something awry? Select a service or trace and dive deeper with:

* <<service-overview>>
* <<transactions>>
* <<spans>>
* <<errors>>
* <<metrics>>
* <<service-maps>>

TIP: Want to learn more about the Elastic APM ecosystem?
See the {apm-get-started-ref}/overview.html[APM Overview].
Expand All @@ -34,12 +28,14 @@ include::services.asciidoc[]

include::traces.asciidoc[]

include::service-maps.asciidoc[]

include::service-overview.asciidoc[]

include::transactions.asciidoc[]

include::spans.asciidoc[]

include::errors.asciidoc[]

include::metrics.asciidoc[]

include::service-maps.asciidoc[]
Binary file modified docs/apm/images/apm-agent-configuration.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-alert.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-errors-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-geo-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apm/images/apm-logs-tab.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-metrics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-query-bar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-services-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-setup.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-traces.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-transaction-annotation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-transaction-response-dist.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-transaction-sample.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/apm-transactions-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/global-filters.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/jvm-metrics-overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/jvm-metrics.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/local-filter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/service-maps-java.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/apm/images/service-maps.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/apm/metrics.asciidoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[role="xpack"]
[[metrics]]
=== Metrics overview
=== Metrics

The *Metrics* overview provides agent-specific metrics,
which lets you perform more in-depth root cause analysis investigations within the APM app.
Expand Down
4 changes: 2 additions & 2 deletions docs/apm/service-maps.asciidoc
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
[role="xpack"]
[[service-maps]]
=== Service maps
=== Service map

A service map is a real-time visual representation of the instrumented services in your application's architecture.
It shows you how these services are connected, along with high-level metrics like average transaction duration,
requests per minute, and errors per minute.
If enabled, service maps also integrate with machine learning--for real time health indicators based on anomaly detection scores.
All of these features can help you to quickly and visually assess the status and health of your services.
All of these features can help you quickly and visually assess your services' status and health.

We currently surface two types of service maps:

Expand Down
5 changes: 5 additions & 0 deletions docs/apm/service-overview.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[role="xpack"]
[[service-overview]]
=== Service overview

Selecting a <<services,*service*>> brings you to the *Service overview*.
8 changes: 4 additions & 4 deletions docs/apm/services.asciidoc
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
[role="xpack"]
[[services]]
=== Services overview
=== Services

The *Services* overview page provides a quick, high-level overview of the health and general
*Service* inventory provides a quick, high-level overview of the health and general
performance of all instrumented services.

To help surface potential issues, services are sorted by their health status:
**critical** > **warning** > **healthy** > **unknown**.
Health status is powered by machine learning and requires anomaly detection to be enabled.
Learn more in <<machine-learning-integration,machine learning>>.
Health status is powered by <<machine-learning-integration,machine learning>>
and requires anomaly detection to be enabled.

[role="screenshot"]
image::apm/images/apm-services-overview.png[Example view of services table the APM app in Kibana]
11 changes: 6 additions & 5 deletions docs/apm/traces.asciidoc
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
[role="xpack"]
[[traces]]
=== Traces overview
=== Traces

TIP: Traces link together related transactions to show an end-to-end performance of how a request was served
and which services were part of it.
In addition to the Traces overview, you can view your application traces in the <<spans,trace sample timeline waterfall>>.

The *Traces* overview displays the entry transaction for all traces in your application.
*Traces* displays your application's entry transactions.
Transactions with the same name are grouped together and only shown once in this table.
If you're using <<distributed-tracing,distributed tracing>>,
this view is key to finding the critical paths within your application.
Transactions with the same name are grouped together and only shown once in this table.

By default, transactions are sorted by _Impact_.
Impact helps show the most used and slowest endpoints in your service--in other words,
Impact helps show the most used and slowest endpoints in your service -- in other words,
it's the collective amount of pain a specific endpoint is causing your users.
If there's a particular endpoint you're worried about, you can click on it to view the <<transaction-details, transaction details>>.
If there's a particular endpoint you're worried about, select it to view its
<<transaction-details,transaction details>>.

[role="screenshot"]
image::apm/images/apm-traces.png[Example view of the Traces overview in APM app in Kibana]
72 changes: 51 additions & 21 deletions docs/apm/transactions.asciidoc
Original file line number Diff line number Diff line change
@@ -1,20 +1,18 @@
[role="xpack"]
[[transactions]]
=== Transaction overview
=== Transactions

TIP: A {apm-overview-ref-v}/transactions.html[transaction] describes an event captured by an Elastic APM agent instrumenting a service.
APM agents automatically collect performance metrics on HTTP requests, database queries, and much more.

Selecting a <<services,*service*>> brings you to the *transactions* overview.

[role="screenshot"]
image::apm/images/apm-transactions-overview.png[Example view of transactions table in the APM app in Kibana]

The *transaction duration*, *transactions per minute*, *transaction error rate*, and *time spent by span type*
The *Latency*, *transactions per minute*, *Error rate*, and *Average duration by span type*
charts display information on all transactions associated with the selected service:

*Transaction duration*::
Response times for this service, broken down into average, 95th, and 99th percentile.
*Latency*::
Response times for the service. Options include average, 95th, and 99th percentile.
If there's a weird spike that you'd like to investigate,
you can simply zoom in on the graph - this will adjust the specific time range,
and all of the data on the page will update accordingly.
Expand All @@ -24,12 +22,12 @@ Visualize response codes: `2xx`, `3xx`, `4xx`, etc.,
and is useful for determining if you're serving more of one code than you typically do.
Like in the Transaction duration graph, you can zoom in on anomalies to further investigate them.

*Transaction error rate*::
*Error rate*::
Visualize the total number of transactions with errors divided by the total number of transactions.
Any unexpected increases, decreases, or irregular patterns can be investigated further
with the <<errors,errors overview>>.

*Time spent by span type*::
*Average duration by span type*::
Visualize where your application is spending most of its time.
For example, is your app spending time in external calls, database processing, or application code execution?
+
Expand All @@ -39,8 +37,9 @@ This could be a sign that the agent does not have auto-instrumentation for whate
+
It's important to note that if you have asynchronous spans, the sum of all span times may exceed the duration of the transaction.

[discrete]
[[transactions-table]]
==== Transactions table
=== Transactions table

The *Transactions* table displays a list of _transaction groups_ for the selected service.
In other words, this view groups all transactions of the same name together,
Expand All @@ -63,8 +62,9 @@ For further details, including troubleshooting and custom implementation instruc
refer to the documentation for each {apm-agents-ref}[APM Agent] you've implemented.
====

[discrete]
[[rum-transaction-overview]]
==== RUM Transaction overview
=== RUM Transaction overview

The transaction overview page is customized for the JavaScript RUM Agent.
Specifically, the page highlights *page load times* for your service:
Expand All @@ -77,8 +77,9 @@ are available in the Observability User Experience tab.
// To do
// Add link to the Observability UE docs when complete

[discrete]
[[transaction-details]]
==== Transaction details
=== Transaction details

Selecting a transaction group will bring you to the *transaction* details.
This page is visually similar to the transaction overview, but it shows data from all transactions within
Expand All @@ -87,20 +88,32 @@ the selected transaction group.
[role="screenshot"]
image::apm/images/apm-transaction-response-dist.png[Example view of response time distribution]

Up to ten sampled transactions are also displayed.
These sampled transactions are based on the _bucket_ selection in the *Transactions duration distribution* chart.
You can update the sampled transactions by selecting a new _bucket_.
The number of requests per bucket is displayed when hovering over the graph,
and the selected bucket is highlighted to stand out.
[[transaction-duration-distribution]]
==== Transactions duration distribution

The screenshot below shows a typical distribution, and indicates most of our requests were served quickly--awesome!
This chart plots all transaction durations for the given time period.
The screenshot below shows a typical distribution,
and indicates most of our requests were served quickly -- awesome!
It's the requests on the right, the ones taking longer than average, that we probably want to focus on.

[role="screenshot"]
image::apm/images/apm-transaction-duration-dist.png[Example view of transactions duration distribution graph]

When you select a bucket,
you're presented with up to ten trace samples.
Select a transaction duration _bucket_ to display up to ten trace samples.

[[transaction-trace-sample]]
==== Trace sample

Trace samples are based on the _bucket_ selection in the *Transactions duration distribution* chart;
update the samples by selecting a new _bucket_.
The number of requests per bucket is displayed when hovering over the graph,
and the selected bucket is highlighted to stand out.

Each bucket presents up to ten trace samples in a *timeline*, trace sample *metadata*,
and any related *logs*.

*Trace sample timeline*

Each sample has a trace timeline waterfall that shows how a typical request in that bucket executed.
This waterfall is useful for understanding the parent/child hierarchy of transactions and spans,
and ultimately determining _why_ a request was slow.
Expand All @@ -112,7 +125,9 @@ image::apm/images/apm-transaction-sample.png[Example view of transactions sample

NOTE: More information on timeline waterfalls is available in <<spans, spans>>.

For a particular transaction sample, we can get even more information in the *metadata* tab:
*Trace sample metadata*

Learn more about a trace sample in the *Metadata* tab:

* Labels - Custom labels added by agents
* HTTP request/response information
Expand All @@ -123,7 +138,22 @@ For a particular transaction sample, we can get even more information in the *me
* Agent information
* URL
* User - Requires additional configuration, but allows you to see which user experienced the current transaction.
* Custom - You can configure your agent to add custom contextual information on transactions.

TIP: All of this data is stored in documents in Elasticsearch.
This means you can select "Actions - View sample document" to see the actual Elasticsearch document under the discover tab.

*Trace sample logs*

The *Logs* tab displays logs related to the sampled trace.

Logs provide detailed information about specific events,
and are crucial to successfully debugging slow or erroneous transactions.

If you've correlated your application's logs and traces, you never have to search for relevant data;
it's all provided on this. Viewing log and trace data together allows you to quickly diagnose
and solve problems.

[role="screenshot"]
image::apm/images/apm-logs-tab.png[APM logs tab]

// To do: link to log correlation
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ readonly links: {
readonly urlDrilldownTemplateSyntax: string;
readonly urlDrilldownVariables: string;
};
readonly discover: Record<string, string>;
readonly filebeat: {
readonly base: string;
readonly installation: string;
Expand Down Expand Up @@ -74,6 +75,7 @@ readonly links: {
readonly sum: string;
readonly top_hits: string;
};
readonly runtimeFields: string;
readonly scriptedFields: {
readonly scriptFields: string;
readonly scriptAggs: string;
Expand All @@ -88,6 +90,7 @@ readonly links: {
};
readonly addData: string;
readonly kibana: string;
readonly elasticsearch: Record<string, string>;
readonly siem: {
readonly guide: string;
readonly gettingStarted: string;
Expand All @@ -111,5 +114,7 @@ readonly links: {
readonly maps: Record<string, string>;
readonly monitoring: Record<string, string>;
readonly security: Record<string, string>;
readonly watcher: Record<string, string>;
readonly ccs: Record<string, string>;
};
```
Loading

0 comments on commit a3d62c1

Please sign in to comment.