Skip to content

Commit

Permalink
Merge branch '7.7' into backport/7.7/pr-63288
Browse files Browse the repository at this point in the history
  • Loading branch information
elasticmachine authored May 13, 2020
2 parents 625ef8a + a40a94b commit de04ec2
Show file tree
Hide file tree
Showing 33 changed files with 253 additions and 226 deletions.
34 changes: 17 additions & 17 deletions docs/apm/api.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ The following Agent configuration APIs are available:
======

`settings`::
(required) Key/value object with settings and their corresponding value.
(required) Key/value object with option name and option value.

`agent_name`::
(optional) The agent name is used by the UI to determine which settings to display.
Expand All @@ -73,14 +73,14 @@ The following Agent configuration APIs are available:
--------------------------------------------------
PUT /api/apm/settings/agent-configuration
{
"service" : {
"name" : "frontend",
"environment" : "production"
"service": {
"name": "frontend",
"environment": "production"
},
"settings" : {
"transaction_sample_rate" : 0.4,
"capture_body" : "off",
"transaction_max_spans" : 500
"settings": {
"transaction_sample_rate": "0.4",
"capture_body": "off",
"transaction_max_spans": "500"
},
"agent_name": "nodejs"
}
Expand Down Expand Up @@ -124,7 +124,7 @@ PUT /api/apm/settings/agent-configuration
DELETE /api/apm/settings/agent-configuration
{
"service" : {
"name" : "frontend",
"name": "frontend",
"environment": "production"
}
}
Expand Down Expand Up @@ -157,9 +157,9 @@ DELETE /api/apm/settings/agent-configuration
"environment": "production"
},
"settings": {
"transaction_sample_rate": 1,
"transaction_sample_rate": "1",
"capture_body": "off",
"transaction_max_spans": 200
"transaction_max_spans": "200"
},
"@timestamp": 1581934104843,
"applied_by_agent": false,
Expand All @@ -171,9 +171,9 @@ DELETE /api/apm/settings/agent-configuration
"name": "opbeans-go"
},
"settings": {
"transaction_sample_rate": 1,
"transaction_sample_rate": "1",
"capture_body": "off",
"transaction_max_spans": 300
"transaction_max_spans": "300"
},
"@timestamp": 1581934111727,
"applied_by_agent": false,
Expand All @@ -185,7 +185,7 @@ DELETE /api/apm/settings/agent-configuration
"name": "frontend"
},
"settings": {
"transaction_sample_rate": 1,
"transaction_sample_rate": "1",
},
"@timestamp": 1582031336265,
"applied_by_agent": false,
Expand Down Expand Up @@ -250,7 +250,7 @@ GET /api/apm/settings/agent-configuration
"name": "frontend"
},
"settings": {
"transaction_sample_rate": 1,
"transaction_sample_rate": "1",
},
"@timestamp": 1582031336265,
"applied_by_agent": false,
Expand All @@ -266,9 +266,9 @@ GET /api/apm/settings/agent-configuration
--------------------------------------------------
POST /api/apm/settings/agent-configuration/search
{
"etag" : "1e58c178efeebae15c25c539da740d21dee422fc",
"etag": "1e58c178efeebae15c25c539da740d21dee422fc",
"service" : {
"name" : "frontend",
"name": "frontend",
"environment": "production"
}
}
Expand Down
33 changes: 24 additions & 9 deletions docs/apm/spans.asciidoc
Original file line number Diff line number Diff line change
@@ -1,38 +1,53 @@
[role="xpack"]
[[spans]]
=== Span timeline
=== Trace sample timeline

TIP: A {apm-overview-ref-v}/transaction-spans.html[span] is the duration of a single event.
Spans are automatically captured by APM agents, and you can also define custom spans.
Each span has a type and is defined by a different color in the timeline/waterfall visualization.

The span timeline visualization is a bird's-eye view of what your application was doing while it was trying to respond to the request that came in.
The trace sample timeline visualization is a bird's-eye view of what your application was doing while it was trying to respond to a request.
This makes it useful for visualizing where the selected transaction spent most of its time.

[role="screenshot"]
image::apm/images/apm-transaction-sample.png[Example of distributed trace colors in the APM app in Kibana]

View a span in detail by clicking on it in the timeline waterfall.
When you click on an SQL Select database query,
For example, when you click on an SQL Select database query,
the information displayed includes the actual SQL that was executed, how long it took,
and the percentage of the trace's total time.
You also get a stack trace, which shows the SQL query in your code.
Finally, APM knows which files are your code and which are just modules or libraries that you've installed.
These library frames will be minimized by default in order to show you the most relevant stack trace.

TIP: A {apm-overview-ref-v}/transaction-spans.html[span] is the duration of a single event.
Spans are automatically captured by APM agents, and you can also define custom spans.
Each span has a type and is defined by a different color in the timeline/waterfall visualization.

[role="screenshot"]
image::apm/images/apm-span-detail.png[Example view of a span detail in the APM app in Kibana]

If your span timeline is colorful, it's indicative of a <<distributed-tracing,distributed trace>>.
[float]
[[distributed-tracing]]
==== Distributed tracing

If your trace sample timeline is colorful, it's indicative of a distributed trace.
Services in a distributed trace are separated by color and listed in the order they occur.

[role="screenshot"]
image::apm/images/apm-services-trace.png[Example of distributed trace colors in the APM app in Kibana]

Don't forget; a distributed trace includes more than one transaction.
As application architectures are shifting from monolithic to more distributed, service-based architectures,
distributed tracing has become a crucial feature of modern application performance monitoring.
It allows you to trace requests through your service architecture automatically, and visualize those traces in one single view in the APM app.
From initial web requests to your front-end service, to queries made to your back-end services,
this makes finding possible bottlenecks throughout your application much easier and faster.

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

Don't forget; by definition, a distributed trace includes more than one transaction.
When viewing these distributed traces in the timeline waterfall, you'll see this image:apm/images/transaction-icon.png[APM icon] icon,
which indicates the next transaction in the trace.
These transactions can be expanded and viewed in detail by clicking on them.

After exploring these traces,
you can return to the full trace by clicking *View full trace*.

TIP: Distributed tracing is supported by all APM agents, and there's no additional configuration needed.
24 changes: 1 addition & 23 deletions docs/apm/traces.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

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,span timeline waterfall>>.
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.
If you're using <<distributed-tracing>>, this view is key to finding the critical paths within your application.
Expand All @@ -17,25 +17,3 @@ If there's a particular endpoint you're worried about, you can click on it to vi

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

[float]
[[distributed-tracing]]
==== Distributed tracing

Elastic APM supports distributed tracing.
Distributed tracing is a key feature of modern application performance monitoring as application architectures are shifting from monolithic to more distributed,
service-based architectures.

Distributed tracing allows APM users to automatically trace requests all the way through the service architecture,
and visualize those traces in one single view in the APM app.
This is accomplished by tracing all of the requests, from the initial web request to your front-end service,
to queries made to your back-end services.
This makes finding possible bottlenecks throughout your application much easier and faster.

By definition, a distributed trace includes more than one transaction.
You can use the <<spans,span timeline visualization>> to view a waterfall display of all of the transactions from individual services that are connected in a trace.

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

TIP: Distributed tracing is supported by all APM agents, and there's no additional configuration needed.
2 changes: 1 addition & 1 deletion docs/apm/transactions.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ It's the requests on the right, the ones taking longer than average, that we pro

When you select one of these buckets,
you're presented with up to ten trace samples.
Each sample has a span timeline waterfall that shows what a typical request in that bucket was doing.
Each sample has a trace timeline waterfall that shows what a typical request in that bucket was doing.
By investigating this timeline waterfall, we can hopefully determine _why_ this request was slow and then implement a fix.

[role="screenshot"]
Expand Down
2 changes: 1 addition & 1 deletion docs/canvas/canvas-elements.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ By default, most of the elements you create use demo data until you change the d
[[canvas-add-object]]
==== Add a saved object

Add a <<managing-saved-objects,saved object>>, such as a map or Lens visualization, then customize it to fit your display needs.
Add a <<managing-saved-objects,saved object>>, then customize it to fit your display needs.

. Click *Embed object*.

Expand Down
7 changes: 7 additions & 0 deletions docs/migration/migrate_7_2.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,13 @@ your application to Kibana 7.2.

See also <<release-highlights-7.2.0, release highlights>> and <<release-notes-7.2.0, release notes>>.

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

//tag::notable-breaking-changes[]

// end::notable-breaking-changes[]

[float]
[[breaking_72_index_pattern_changes]]

Expand Down
1 change: 1 addition & 0 deletions docs/migration/migrate_7_5.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,4 @@ Any installs that previously enabled the Code app will now log a warning when
Kibana starts up. It's safe to remove all configurations starting with
`xpack.code.`. Starting in 8.0, these warnings will become errors that prevent
Kibana from starting up.
// end::notable-breaking-changes[]
5 changes: 5 additions & 0 deletions docs/migration/migrate_7_6.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@ your application to Kibana 7.6.
* <<user-facing-changes, Breaking changes for users>>
* <<general-plugin-API-changes, Breaking changes for plugin developers>>

// The following section is re-used in the Installation and Upgrade Guide
//tag::notable-breaking-changes[]

// end::notable-breaking-changes[]

[float]
[[user-facing-changes]]
=== Breaking changes for users
Expand Down
12 changes: 4 additions & 8 deletions docs/migration/migrate_7_7.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,10 @@
This page discusses the breaking changes that you need to be aware of when migrating
your application to Kibana 7.7.

//NOTE: The notable-breaking-changes tagged regions are re-used in the
//Installation and Upgrade Guide

////
The following section is re-used in the Installation and Upgrade Guide
[[breaking_70_notable]]
=== Notable breaking changes
////
// The following section is re-used in the Installation and Upgrade Guide
// tag::notable-breaking-changes[]

// end::notable-breaking-changes[]

[float]
=== Breaking changes for users
Expand Down
10 changes: 10 additions & 0 deletions docs/redirects.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,13 @@ This page has moved. Please see <<maps>>.
== Maps

This page has moved. Please see <<maps>>.

[role="exclude",id="development-embedding-visualizations"]
== Embedding Visualizations

This page was deleted. See <<development-visualize-index>>.

[role="exclude",id="development-create-visualization"]
== Developing Visualizations

This page was deleted. See <<development-visualize-index>>.
1 change: 1 addition & 0 deletions docs/setup/settings.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -641,3 +641,4 @@ include::{docdir}/settings/reporting-settings.asciidoc[]
include::secure-settings.asciidoc[]
include::{docdir}/settings/security-settings.asciidoc[]
include::{docdir}/settings/spaces-settings.asciidoc[]
include::{docdir}/settings/telemetry-settings.asciidoc[]
9 changes: 7 additions & 2 deletions docs/user/plugins.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,17 @@ $ bin/kibana-plugin install x-pack
=== Install plugins from an arbitrary URL

You can download official Elastic plugins simply by specifying their name. You
can alternatively specify a URL to a specific plugin, as in the following
example:
can alternatively specify a URL or file path to a specific plugin, as in the following
examples:

["source","shell",subs="attributes"]
$ bin/kibana-plugin install https://artifacts.elastic.co/downloads/packs/x-pack/x-pack-{version}.zip

or

["source","shell",subs="attributes"]
$ bin/kibana-plugin install file:///local/path/to/custom_plugin.zip

You can specify URLs that use the HTTP, HTTPS, or `file` protocols.

[float]
Expand Down
11 changes: 9 additions & 2 deletions docs/visualize/timelion.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@ To start tracking the real-time percentage of CPU, enter the following in the *T

[source,text]
----------------------------------
.es(index=metricbeat-*, timefield='@timestamp', metric='avg:system.cpu.user.pct')
.es(index=metricbeat-*,
timefield='@timestamp',
metric='avg:system.cpu.user.pct')
----------------------------------

[role="screenshot"]
Expand Down Expand Up @@ -70,7 +72,12 @@ To easily distinguish between the two data sets, add the label names:

[source,text]
----------------------------------
.es(offset=-1h,index=metricbeat-*, timefield='@timestamp', metric='avg:system.cpu.user.pct').label('last hour'), .es(index=metricbeat-*, timefield='@timestamp', metric='avg:system.cpu.user.pct').label('current hour') <1>
.es(offset=-1h,index=metricbeat-*,
timefield='@timestamp',
metric='avg:system.cpu.user.pct').label('last hour'),
.es(index=metricbeat-*,
timefield='@timestamp',
metric='avg:system.cpu.user.pct').label('current hour') <1>
----------------------------------

<1> `.label()` adds custom labels to the visualization.
Expand Down
4 changes: 4 additions & 0 deletions packages/kbn-es/src/utils/native_realm.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,10 @@ exports.NativeRealm = class NativeRealm {
}

const reservedUsers = await this.getReservedUsers();
if (!reservedUsers || reservedUsers.length < 1) {
throw new Error('no reserved users found, unable to set native realm passwords');
}

await Promise.all(
reservedUsers.map(async user => {
await this.setPassword(user, options[`password.${user}`]);
Expand Down
2 changes: 0 additions & 2 deletions packages/kbn-plugin-helpers/cli.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,4 @@ program
}))
);

program.command('postinstall').action(createCommanderAction('postinstall'));

program.parse(process.argv);
2 changes: 0 additions & 2 deletions packages/kbn-plugin-helpers/lib/tasks.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,11 @@ const startTask = require('../tasks/start');
const testAllTask = require('../tasks/test/all');
const testKarmaTask = require('../tasks/test/karma');
const testMochaTask = require('../tasks/test/mocha');
const postinstallTask = require('../tasks/postinstall');

module.exports = {
build: buildTask,
start: startTask,
testAll: testAllTask,
testKarma: testKarmaTask,
testMocha: testMochaTask,
postinstall: postinstallTask,
};
Loading

0 comments on commit de04ec2

Please sign in to comment.