Commit graph

41 commits

Author SHA1 Message Date
Kibana Machine
5d961c8ec0
[8.6] [Profiling] Add color for PHP JIT frames (#147495) (#147588)
# Backport

This will backport the following commits from `main` to `8.6`:
- [[Profiling] Add color for PHP JIT frames
(#147495)](https://github.com/elastic/kibana/pull/147495)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Florian
Lehner","email":"florianl@users.noreply.github.com"},"sourceCommit":{"committedDate":"2022-12-15T06:35:21Z","message":"[Profiling]
Add color for PHP JIT frames (#147495)\n\nSigned-off-by: Florian Lehner
<florian.lehner@elastic.cloud>\r\n\r\n## Summary\r\n\r\nAdd a color for
the PHP JIT frame type.\r\n\r\nSigned-off-by: Florian Lehner
<florian.lehner@elastic.cloud>","sha":"e7f858bdbe5539163d7e95ce6f41d973c841756e","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v8.7.0","v8.6.1"],"number":147495,"url":"https://github.com/elastic/kibana/pull/147495","mergeCommit":{"message":"[Profiling]
Add color for PHP JIT frames (#147495)\n\nSigned-off-by: Florian Lehner
<florian.lehner@elastic.cloud>\r\n\r\n## Summary\r\n\r\nAdd a color for
the PHP JIT frame type.\r\n\r\nSigned-off-by: Florian Lehner
<florian.lehner@elastic.cloud>","sha":"e7f858bdbe5539163d7e95ce6f41d973c841756e"}},"sourceBranch":"main","suggestedTargetBranches":["8.6"],"targetPullRequestStates":[{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/147495","number":147495,"mergeCommit":{"message":"[Profiling]
Add color for PHP JIT frames (#147495)\n\nSigned-off-by: Florian Lehner
<florian.lehner@elastic.cloud>\r\n\r\n## Summary\r\n\r\nAdd a color for
the PHP JIT frame type.\r\n\r\nSigned-off-by: Florian Lehner
<florian.lehner@elastic.cloud>","sha":"e7f858bdbe5539163d7e95ce6f41d973c841756e"}},{"branch":"8.6","label":"v8.6.1","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Florian Lehner <florianl@users.noreply.github.com>
2022-12-15 00:41:35 -07:00
Kibana Machine
8079031ff2
[8.6] [Profiling] Remove link to 'Other' bucket (#147523) (#147540)
# Backport

This will backport the following commits from `main` to `8.6`:
- [[Profiling] Remove link to 'Other' bucket
(#147523)](https://github.com/elastic/kibana/pull/147523)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Dario
Gieselaar","email":"dario.gieselaar@elastic.co"},"sourceCommit":{"committedDate":"2022-12-14T15:57:32Z","message":"[Profiling]
Remove link to 'Other' bucket (#147523)\n\nCloses
https://github.com/elastic/prodfiler/issues/2739","sha":"f2fcb1c5afc19f8439dfff4c4137e1b2253478dc","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:fix","v8.7.0","v8.6.1"],"number":147523,"url":"https://github.com/elastic/kibana/pull/147523","mergeCommit":{"message":"[Profiling]
Remove link to 'Other' bucket (#147523)\n\nCloses
https://github.com/elastic/prodfiler/issues/2739","sha":"f2fcb1c5afc19f8439dfff4c4137e1b2253478dc"}},"sourceBranch":"main","suggestedTargetBranches":["8.6"],"targetPullRequestStates":[{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/147523","number":147523,"mergeCommit":{"message":"[Profiling]
Remove link to 'Other' bucket (#147523)\n\nCloses
https://github.com/elastic/prodfiler/issues/2739","sha":"f2fcb1c5afc19f8439dfff4c4137e1b2253478dc"}},{"branch":"8.6","label":"v8.6.1","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Dario Gieselaar <dario.gieselaar@elastic.co>
2022-12-14 09:59:18 -07:00
Kibana Machine
22d65ee969
[8.6] [profiling] Ensure constant colors in profiling bar chart (#146696) (#146776)
# Backport

This will backport the following commits from `main` to `8.6`:
- [[profiling] Ensure constant colors in profiling bar chart
(#146696)](https://github.com/elastic/kibana/pull/146696)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Thomas
Dullien","email":"thomas.dullien@googlemail.com"},"sourceCommit":{"committedDate":"2022-12-01T11:11:49Z","message":"[profiling]
Ensure constant colors in profiling bar chart (#146696)\n\n##
Summary\r\n\r\nMake sure that identical objects in the bar chart always
get assigned\r\nthe same colors.\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Tim
Rühsen
<tim.ruhsen@elastic.co>","sha":"0a065f3c1d18b881209f510c574c7f463c401ffc","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v8.7.0","v8.6.1"],"number":146696,"url":"https://github.com/elastic/kibana/pull/146696","mergeCommit":{"message":"[profiling]
Ensure constant colors in profiling bar chart (#146696)\n\n##
Summary\r\n\r\nMake sure that identical objects in the bar chart always
get assigned\r\nthe same colors.\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Tim
Rühsen
<tim.ruhsen@elastic.co>","sha":"0a065f3c1d18b881209f510c574c7f463c401ffc"}},"sourceBranch":"main","suggestedTargetBranches":["8.6"],"targetPullRequestStates":[{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/146696","number":146696,"mergeCommit":{"message":"[profiling]
Ensure constant colors in profiling bar chart (#146696)\n\n##
Summary\r\n\r\nMake sure that identical objects in the bar chart always
get assigned\r\nthe same colors.\r\n\r\nCo-authored-by: kibanamachine
<42973632+kibanamachine@users.noreply.github.com>\r\nCo-authored-by: Tim
Rühsen
<tim.ruhsen@elastic.co>","sha":"0a065f3c1d18b881209f510c574c7f463c401ffc"}},{"branch":"8.6","label":"v8.6.1","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Thomas Dullien <thomas.dullien@googlemail.com>
Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co>
2022-12-05 05:14:39 -07:00
Kibana Machine
444a45435d
[8.6] [Profiling] Add APIs to clear frame and executable caches (#145499) (#145525)
# Backport

This will backport the following commits from `main` to `8.6`:
- [[Profiling] Add APIs to clear frame and executable caches
(#145499)](https://github.com/elastic/kibana/pull/145499)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Joseph
Crail","email":"joseph.crail@elastic.co"},"sourceCommit":{"committedDate":"2022-11-17T10:04:58Z","message":"[Profiling]
Add APIs to clear frame and executable caches (#145499)\n\nThis PR adds
two endpoints to clear each respective cache:\r\n\r\n* `DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/executables`\r\n* `DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/stackframes`\r\n\r\nRelated to
https://github.com/elastic/prodfiler/issues/2759\r\n\r\n#### Design
choices\r\n\r\n1. The `DELETE` method was chosen instead of `PUT` or
`POST` since the\r\ngiven semantics of `DELETE` matches the expected
behavior for the\r\nrelated issue.\r\n2. Each endpoint will remove all
items from the respective cache. A\r\nseparate API for each cache allows
us to selectively clear the necessary\r\ncache without the downsides of
a catch-all endpoint to clear all caches.\r\nThis gives us the
flexibility to add more endpoints if needed. Given the\r\ntradeoff
between complexity now or later, it was decided to implement\r\ngeneral
invalidation now with the option to invalidate specific
items\r\nlater.\r\n3. The RESTful design allows us to clear specific
items later (e.g.\r\n`DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/executables/{ID}`\r\ncould
clear only executable `ID` from the cache).\r\n4. Each endpoint returns
an empty payload on success. However, the\r\nKibana logs reflect the
actions taken and how many cache items were\r\naffected.\r\n5. The
stacktrace cache was ignored since it was not affected by
symbols\r\nwritten to Elasticsearch.\r\n6. Each endpoint is not directly
accessible from UI since it is expected\r\nthat the endpoints will be
called outside of Kibana. However, the\r\nendpoints can be called
manually from the browser's
console.","sha":"642ab74cfc1a4ef5c0a2dfdadf00bd3792f780a7","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v8.6.0","v8.7.0","v8.5.2"],"number":145499,"url":"https://github.com/elastic/kibana/pull/145499","mergeCommit":{"message":"[Profiling]
Add APIs to clear frame and executable caches (#145499)\n\nThis PR adds
two endpoints to clear each respective cache:\r\n\r\n* `DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/executables`\r\n* `DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/stackframes`\r\n\r\nRelated to
https://github.com/elastic/prodfiler/issues/2759\r\n\r\n#### Design
choices\r\n\r\n1. The `DELETE` method was chosen instead of `PUT` or
`POST` since the\r\ngiven semantics of `DELETE` matches the expected
behavior for the\r\nrelated issue.\r\n2. Each endpoint will remove all
items from the respective cache. A\r\nseparate API for each cache allows
us to selectively clear the necessary\r\ncache without the downsides of
a catch-all endpoint to clear all caches.\r\nThis gives us the
flexibility to add more endpoints if needed. Given the\r\ntradeoff
between complexity now or later, it was decided to implement\r\ngeneral
invalidation now with the option to invalidate specific
items\r\nlater.\r\n3. The RESTful design allows us to clear specific
items later (e.g.\r\n`DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/executables/{ID}`\r\ncould
clear only executable `ID` from the cache).\r\n4. Each endpoint returns
an empty payload on success. However, the\r\nKibana logs reflect the
actions taken and how many cache items were\r\naffected.\r\n5. The
stacktrace cache was ignored since it was not affected by
symbols\r\nwritten to Elasticsearch.\r\n6. Each endpoint is not directly
accessible from UI since it is expected\r\nthat the endpoints will be
called outside of Kibana. However, the\r\nendpoints can be called
manually from the browser's
console.","sha":"642ab74cfc1a4ef5c0a2dfdadf00bd3792f780a7"}},"sourceBranch":"main","suggestedTargetBranches":["8.6","8.5"],"targetPullRequestStates":[{"branch":"8.6","label":"v8.6.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/145499","number":145499,"mergeCommit":{"message":"[Profiling]
Add APIs to clear frame and executable caches (#145499)\n\nThis PR adds
two endpoints to clear each respective cache:\r\n\r\n* `DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/executables`\r\n* `DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/stackframes`\r\n\r\nRelated to
https://github.com/elastic/prodfiler/issues/2759\r\n\r\n#### Design
choices\r\n\r\n1. The `DELETE` method was chosen instead of `PUT` or
`POST` since the\r\ngiven semantics of `DELETE` matches the expected
behavior for the\r\nrelated issue.\r\n2. Each endpoint will remove all
items from the respective cache. A\r\nseparate API for each cache allows
us to selectively clear the necessary\r\ncache without the downsides of
a catch-all endpoint to clear all caches.\r\nThis gives us the
flexibility to add more endpoints if needed. Given the\r\ntradeoff
between complexity now or later, it was decided to implement\r\ngeneral
invalidation now with the option to invalidate specific
items\r\nlater.\r\n3. The RESTful design allows us to clear specific
items later (e.g.\r\n`DELETE
{BASE_KIBANA_PATH}/api/profiling/v1/cache/executables/{ID}`\r\ncould
clear only executable `ID` from the cache).\r\n4. Each endpoint returns
an empty payload on success. However, the\r\nKibana logs reflect the
actions taken and how many cache items were\r\naffected.\r\n5. The
stacktrace cache was ignored since it was not affected by
symbols\r\nwritten to Elasticsearch.\r\n6. Each endpoint is not directly
accessible from UI since it is expected\r\nthat the endpoints will be
called outside of Kibana. However, the\r\nendpoints can be called
manually from the browser's
console.","sha":"642ab74cfc1a4ef5c0a2dfdadf00bd3792f780a7"}},{"branch":"8.5","label":"v8.5.2","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Joseph Crail <joseph.crail@elastic.co>
2022-11-17 04:14:31 -07:00
Tim Rühsen
528486f2af
[Profiling] Remove timestamp from traces and executables (#145261)
## Summary
We are removing @timestamp from the backend soon.
And we do not currently use @timestamp in Kibana.

This PR just cleans up the unused field definitions for the Timestamps.
2022-11-15 20:56:14 -08:00
Tim Rühsen
e58e6976fa
[Profiling] Fix ordering of CPU incl. subfunctions in TopN Functions (#145013)
Kibana client fetches all functions from the server.
Kibana client only shows the Top 100 functions, dependent on column sort
order.

Fixes https://github.com/elastic/prodfiler/issues/2723
2022-11-10 16:53:15 -08:00
Daniel Mitterdorfer
614daf0b15
[Profiling] Fix decoding of long sequences (#144979)
We store stack frame types with a run-length encoding in Elasticsearch
and decode the raw data in Kibana. The current implementation was
working fine when the frame type did not change often but failed for
long sequences of unique frame types. With this commit we make sure that
these longer sequences can also properly decoded.

Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co>
2022-11-10 06:50:22 -07:00
Tim Rühsen
f7758e0ada
[Profiling] Improve the differential flamegraph tooltip (#144895)
Improve the root tooltip for the differential flamegraph:
- remove the superfluous CPU usages (it's always 100% inclusive and 0%
exclusive)
 - add the change rate of the samples as colored text

**Before**

![Screenshot_20221109_130516](https://user-images.githubusercontent.com/2087964/200828112-045196e2-88cb-4f5c-906a-4e61d73be9c7.png)
**After**

![Screenshot_20221109_125746](https://user-images.githubusercontent.com/2087964/200828152-cb2f0cc7-28cc-4e54-800f-d5c9df0448c4.png)

Improve the non-root tooltips for the differential flamegraph:
 - remove the 'no change' label if there is no change
 - add the change rate of the samples as colored text

**Before**

![Screenshot_20221109_130600](https://user-images.githubusercontent.com/2087964/200828108-c6c78866-4aff-4617-ac0f-e78aeba78a54.png)
**After**

![Screenshot_20221109_125916](https://user-images.githubusercontent.com/2087964/200828149-8caac941-3c58-4389-ac7f-bda2e687faaa.png)

Fixes https://github.com/elastic/prodfiler/issues/2714

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Joseph Crail <joseph.crail@elastic.co>
2022-11-09 11:58:35 -08:00
Thomas Dullien
0a5050bd37
[Profiling] Small improvements to the differential function view (#144824)
Improved the visualization of data in profiling by showing more details
and using more nicely formatted numbers.

Fixes https://github.com/elastic/prodfiler/issues/2772

Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co>
2022-11-09 11:27:36 -07:00
Rachel Shen
244ef02ff1
[Shared UX] Fix redirect app links fill vertical space (#141656) 2022-11-08 15:46:05 -07:00
Tim Rühsen
199eb170f9
[Profiling] For diff functions add change of total samples (#144724) 2022-11-08 03:51:18 -07:00
Joseph Crail
1fdf4a6453
[Profiling] Add TTL to cached frames and executables (#144292)
* Add TTL to cached frames and executables

* Fix misspelled constant
2022-11-04 20:50:57 -07:00
spalger
52f2b33a07
[auto] migrate existing plugin/package configs 2022-10-28 14:06:46 -05:00
Luca Wintergerst
003bbf7f2d
[Profiling] allow negative numbers in formatter (#143420)
* Update as_number.ts

allow negative numbers in formatter. Currently all negative values get truncated to `~0.00`
closes https://github.com/elastic/prodfiler/issues/2707

* Update as_number.ts

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

* Update as_number.ts

change negative condition to abs

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co>
2022-10-25 02:56:55 -07:00
Joseph Crail
a4b20e6e89
[Profiling] Improve performance when decoding stacktraces (#143084)
* Derive address and file ID from base64 encoding

This skips the intermediate deserialization step to a buffer object.

* Move run-length encoding methods

* Decode run-length directly from base64 encoding

This skips the intermediate deserialization step to a buffer object.

* Minor refactor

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-10-24 16:24:31 -07:00
Stratoula Kalafateli
411a306216
[Unified search] Cleanups the showQueryBar flag (#143270)
* [Unified search] Cleanups the showQueryBar flag that is not used anymore

* Fix add filter story error
2022-10-18 11:24:17 +03:00
Joseph Crail
35e8170a5a
[Profiling] Check caches before querying (#143089)
* Add LRU cache for stackframes

* Add LRU cache for executables

* Remove splitting mgets into chunks

* Move LRU cache for stacktraces before query

* Summarize cache and query results

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-10-17 14:24:14 -07:00
Dario Gieselaar
7ed94ad679
[Profiling] Add span for decoding stacktraces (#143054) 2022-10-11 15:25:39 +02:00
Joseph Crail
39811a3bd5
[Profiling] Fix UI discrepancies in frame information window (#142812)
* Fix UI discrepancies in frame information window

* Fix comment

* Use source line instead

This matches with the value used in the flamegraph labels.
2022-10-06 12:50:21 -07:00
Tim Rühsen
ba306be80d
[Profiling] Avoid line-break of samples (#142322)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-10-06 18:44:45 +02:00
Dario Gieselaar
c05190e516
[Profiling] Auto-abort requests (#142750) 2022-10-06 09:17:14 +02:00
Joseph Crail
c888aca9b4
[Profiling] Move additional flamegraph calculations into UI (#142415)
* Remove total and sampled traces from API

* Remove Samples array from flamegraph API

These values are redundant with CountInclusive so could be removed
without issue.

* Remove totalCount and eventsIndex

These values are no longer needed.

* Remove samples from callee tree

* Refactor columnar view model into separate file

* Add more lazy-loaded flamegraph calculations

* Fix spacing in frame label

* Remove frame information API

* Improve test coverage

* Fix type error

* Replace fnv-plus with custom 64-bit FNV1-a

* Add exceptions for linting errors

* Add workaround for frame type truncation bug

* Replace prior workaround for truncation bug

This fix supercedes the prior workaround and addresses the truncation at
its source.

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-10-05 06:10:38 -07:00
Tim Rühsen
8be7668d20
[Profiling] Show Top 1000 functions (#142391)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-10-04 04:59:28 -07:00
Dario Gieselaar
e0029ed191
[Profiling] Fix calculation/formatting of frame info values (#141909)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Joseph Crail <joseph.crail@elastic.co>
2022-10-03 11:33:55 -07:00
Joseph Crail
924c7f912a
[Profiling] Simplify query post-processing and flamegraph response (#141729)
* Replace non-null assertion with nullish coalescing

* Remove createFrameGroup

* Remove callers

* Use adjacency list representation for tree

* Move frame type map outside function

* Inline frame group name

* Replace FrameGroupID with ID

* Create columnar view model in client
2022-09-26 10:27:06 -07:00
Dario Gieselaar
a4797ee433
[Profiling] Persist current kuery when linking to traces (#141596) 2022-09-23 04:18:14 -07:00
Joseph Crail
d4c17b8f61
Fix one-by-error for run-length encoding (#141555)
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2022-09-23 04:09:41 -07:00
Joseph Crail
d8901857aa
[Profiling] Reduce CPU usage for flamegraph and TopN function (#141017)
* Add instrumentation for flamegraph

I inlined the construction of the flamegraph into the respective route
so that we could add fine-grained instrumentation. We now use APM and
console logging to understand how long flamegraph construction takes.

* Remove unnecessary Set usage

* Remove superfluous clone

This was likely added when we needed to avoid infinite recursion when
serializing to JSON. This no longer has a useful function.

* Pass in pre-calculated frame group info

I noticed that we were creating frame group info multiple times so I
added it as a parameter for the intermediate node.

* Sort callees in one place

Callees should be sorted first by samples decreasing and then by frame
groups. Combining the two sorts makes the post-processing clearer to
future readers and/or maintainers.

* Capitalize fields in preparation of merging

* Align both node data structures

* Pass metadata instead of copying fields

* Refactor frame label method

* Use pre-calculated array length

* Use pre-allocated array

* Refactor intermediate node

* Remove intermediate node structure

* Move if statement out of for loop

* Fix comments

* Sort sibling nodes by frame group ID

* Calculate graph size during creation

* Add missing groupStackFrameMetadataByStackTrace

* Fix formatting

* Fix generated callee source

* Fix creation of frame group

* Fix test

* Remove filter for relevant traces

* Stop passing frame group

* Create root node inside createCallerCalleeGraph

* Fix timestamps

* Remove frame group comparator

* Add instrumentation for topN functions

* Allow for missing stacktraces

* Use Date.now instead
2022-09-22 09:37:45 -07:00
Tim Rühsen
03b360a6b8
[Profiling] Aggregate ELF frames by exeFilename, not fileID (#141139)
* [Profiling] Aggregate ELF frames by exeFilename, not fileID

* [CI] Auto-commit changed files from 'node scripts/precommit_hook.js --ref HEAD~1..HEAD --fix'

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-09-22 11:45:20 +02:00
Joseph Crail
cea17e3dbe
Replace log execution latency (#141341) 2022-09-22 11:44:10 +02:00
Joseph Crail
8586270d13
Remove unused or outdated docs (#141342) 2022-09-22 11:29:24 +02:00
Pierre Gayvallet
9579ea7235
Move src/core/types/elasticsearch to @kbn/es-types (#140522)
* create empty package

* move types to packages

* [CI] Auto-commit changed files from 'node scripts/generate codeowners'

* start fixing imports

* fix more imports

* fix inline import

* add apm-ui as owners

* [CI] Auto-commit changed files from 'node scripts/generate codeowners'

* fix new usages

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
2022-09-20 10:32:13 +02:00
Dario Gieselaar
1a6a16494c
[Profiling] Fill out vertical space for flamegraph (#140952) 2022-09-19 17:51:41 +02:00
Dario Gieselaar
685ae6f60f
[Profiling] reinstate primary refresh button for now (#140945) 2022-09-19 16:27:44 +02:00
Dario Gieselaar
c522506519
[Profiling] Show host.name or host.ip when available (#140941) 2022-09-19 06:53:41 -07:00
Dario Gieselaar
af5eacaebe
[Profiling] show frames in leaf-root order (#140922) 2022-09-19 14:06:44 +02:00
Dario Gieselaar
c6892d4294
[Profiling] Apply weight to comparison side based on selected time range (#140921) 2022-09-19 13:34:16 +02:00
Dario Gieselaar
fabdee3dde
[Profiling] Use 'Universal Profiling' everywhere (#140906) 2022-09-19 02:21:14 -07:00
Dario Gieselaar
2b0dddb8de
[Profiling] Update coloring logic (#140846) 2022-09-19 00:11:33 -07:00
Dario Gieselaar
416a4733e1
[Profiling] Open flyout instead of adding filter for traces (#140845) 2022-09-19 00:05:51 -07:00
Dario Gieselaar
b66cf585ca
[Profiling] Add Profiling application (#140722)
Co-authored-by: Joseph Crail <jbcrail@gmail.com>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Dario Gieselaar <dario.gieselaar@elastic.co>
Co-authored-by: Joseph Crail <joseph.crail@elastic.co>
Co-authored-by: Stephanie Boomsma <stephanieboomsma@optimyze.cloud>
Co-authored-by: inge4pres <fgualazzi@gmail.com>
Co-authored-by: inge4pres <francesco.gualazzi@elastic.co>
Co-authored-by: Francesco Gualazzi <inge4pres@users.noreply.github.com>
Co-authored-by: Tim Rühsen <tim.ruhsen@elastic.co>
Co-authored-by: Tim Rühsen <tim.ruehsen@gmx.de>
2022-09-15 19:24:41 +02:00