Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pyroscope api support #438

Merged
merged 20 commits into from
Jan 24, 2024
Merged

Pyroscope api support #438

merged 20 commits into from
Jan 24, 2024

Conversation

akvlad
Copy link
Collaborator

@akvlad akvlad commented Jan 24, 2024

support some of pyroscope API:

  • profileTypes,
  • labelNames
  • labelValues
  • selectMergeStacktraces
  • selectSeries

Copy link

socket-security bot commented Jan 24, 2024

New dependencies detected. Learn more about Socket for GitHub ↗︎

Package New capabilities Transitives Size Publisher
npm/@grpc/[email protected] environment, filesystem, network +31 6.82 MB murgatroid99
npm/[email protected] None 0 820 kB dibenede

View full report↗︎

@lmangani
Copy link
Collaborator

lmangani commented Jan 24, 2024

Could you provide the full API specs for documentation? The same details as the other APIs would be terrific

@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
Copy link

Workflow Telemetry - QRYN CI / build (16.x)

Workflow telemetry for commit 037eff5217ac5730f4d98d03aa230ad4f2b66f0f
You can access workflow job details here

Step Trace

gantt
	title build (16.x)
	dateFormat x
	axisFormat %H:%M:%S
	Set up job : milestone, 1706105615000, 1706105616000
	Initialize containers : 1706105616000, 1706105626000
	Run actions/checkout@v4 : 1706105627000, 1706105627000
	Use Node.js 16.x : 1706105627000, 1706105629000
	Run npm install : 1706105630000, 1706105641000
	Run npm run postinstall : 1706105641000, 1706105641000
	Run git submodule init : 1706105641000, 1706105641000
	Run git submodule update : 1706105641000, 1706105642000
	Workflow Telemetry : 1706105642000, 1706105642000

Loading

CPU Metrics

chart_stacked_area_time_34f35ec0-223f-4fd7-9cda-692b2723655a

Memory Metrics

chart_stacked_area_time_63019e5b-c64e-4939-8a84-4169d7c19170

IO Metrics

Read Write
Network I/O chart_line_time_8c22ff8e-a3ba-4eba-9136-d4a2695c482d chart_line_time_72553773-e525-4364-bc9c-8035d8111906
Disk I/O chart_line_time_9884c422-afd6-441c-9785-dbd2b56e9e03 chart_line_time_ec65c8ff-44af-4416-a692-869a100fde12

Process Trace

Top 100 processes with highest duration

gantt
	title build (16.x)
	dateFormat x
	axisFormat %H:%M:%S
	jest : 1706105643129, 1706105672701
	node : 1706105643129, 1706105672701
	node : 1706105643321, 1706105643361
	find : 1706105643638, 1706105643639
	find : 1706105643649, 1706105644074
	node : 1706105644104, 1706105644340
	node : 1706105644115, 1706105644333
	node : 1706105644134, 1706105644341
	node : 1706105644377, 1706105672672
	node : 1706105644389, 1706105672659
	node : 1706105644413, 1706105672645
	node : 1706105644602, 1706105644714
	node : 1706105644650, 1706105644763
	node : 1706105644683, 1706105644798

Loading

Copy link

Workflow Telemetry - QRYN CI / build (16.x)

Workflow telemetry for commit 037eff5217ac5730f4d98d03aa230ad4f2b66f0f
You can access workflow job details here

Step Trace

gantt
	title build (16.x)
	dateFormat x
	axisFormat %H:%M:%S
	Set up job : milestone, 1706105616000, 1706105617000
	Run actions/checkout@v4 : 1706105618000, 1706105618000
	Use Node.js 16.x : 1706105618000, 1706105620000
	Run npm install : 1706105620000, 1706105630000
	Run npm run postinstall : 1706105631000, 1706105631000
	Run git submodule init : 1706105631000, 1706105631000
	Run git submodule update : 1706105631000, 1706105632000
	Run docker-compose -f docker/e2e/docker-compose-cluster.yaml up -d : 1706105632000, 1706105644000
	Run sleep 5 : 1706105644000, 1706105649000
	Workflow Telemetry : 1706105649000, 1706105649000
	Run node qryn.mjs >/dev/stdout & : 1706105649000, 1706105654000
	Run npm run test --forceExit : 1706105655000, 1706105684000

Loading

CPU Metrics

chart_stacked_area_time_4255435a-9065-4e05-970d-6516890b1164

Memory Metrics

chart_stacked_area_time_ee0d806c-5d71-469b-ba6d-e210ebbb3814

IO Metrics

Read Write
Network I/O chart_line_time_d2e6de0d-58e9-43fe-bde2-c5ab9eb220bb chart_line_time_293607f8-87e8-46d8-af4a-f86170a25886
Disk I/O chart_line_time_3c4cb111-f673-4709-907a-a8f534c70b56 chart_line_time_4fdfdced-6ee9-4252-9994-3a6d6d5154e8

Process Trace

Top 100 processes with highest duration

gantt
	title build (16.x)
	dateFormat x
	axisFormat %H:%M:%S
	bash : 1706105654691, 1706105684582
	npm : 1706105654692, 1706105684578
	node : 1706105654692, 1706105684578
	jest : 1706105654952, 1706105684574
	node : 1706105654952, 1706105684574
	node : 1706105655118, 1706105655150
	find : 1706105655369, 1706105655370
	find : 1706105655377, 1706105655592
	node : 1706105655616, 1706105655726
	node : 1706105655622, 1706105655728
	node : 1706105655627, 1706105655728
	node : 1706105655751, 1706105684541
	node : 1706105655756, 1706105684527
	node : 1706105655761, 1706105684548
	node : 1706105655857, 1706105655902
	node : 1706105655861, 1706105655906
	node : 1706105655868, 1706105655901

Loading

Copy link

Workflow Telemetry - QRYN CI / build (20)

Workflow telemetry for commit 037eff5217ac5730f4d98d03aa230ad4f2b66f0f
You can access workflow job details here

Step Trace

gantt
	title build (20)
	dateFormat x
	axisFormat %H:%M:%S
	Set up job : milestone, 1706105615000, 1706105616000
	Run actions/checkout@v4 : 1706105616000, 1706105617000
	Use Node.js 20 : 1706105617000, 1706105622000
	Run npm install : 1706105622000, 1706105633000
	Run npm run postinstall : 1706105633000, 1706105633000
	Run git submodule init : 1706105633000, 1706105633000
	Run git submodule update : 1706105634000, 1706105634000
	Run docker-compose -f docker/e2e/docker-compose-cluster.yaml up -d : 1706105634000, 1706105645000
	Run sleep 5 : 1706105645000, 1706105650000
	Workflow Telemetry : 1706105650000, 1706105650000
	Run node qryn.mjs >/dev/stdout & : 1706105650000, 1706105655000
	Run npm run test --forceExit : 1706105656000, 1706105685000

Loading

CPU Metrics

chart_stacked_area_time_07551bbd-806f-4d04-96fe-556fc975555e

Memory Metrics

chart_stacked_area_time_5f61450c-3c2a-47f8-832a-8267c403ca25

IO Metrics

Read Write
Network I/O chart_line_time_3f9ea1ed-8c4c-4ee3-b80d-ec5b71599b41 chart_line_time_0c0d6405-f0eb-4b3b-b9f7-473b4e6a03bf
Disk I/O chart_line_time_b7a8c7f7-2914-48d1-87d3-9a04f1804a93 chart_line_time_1923dd87-853f-4a06-a6cb-9f30b752baf4

Process Trace

Top 100 processes with highest duration

gantt
	title build (20)
	dateFormat x
	axisFormat %H:%M:%S
	bash : 1706105650663, 1706105650664
	bash : 1706105655681, 1706105685170
	npm : 1706105655682, 1706105685162
	node : 1706105655682, 1706105685162
	jest : 1706105655946, 1706105685162
	node : 1706105655946, 1706105685162
	node : 1706105656096, 1706105656128
	find : 1706105656327, 1706105656328
	find : 1706105656333, 1706105656547
	node : 1706105656565, 1706105656670
	node : 1706105656569, 1706105656665
	node : 1706105656572, 1706105656669
	node : 1706105656686, 1706105685118
	node : 1706105656689, 1706105685116
	node : 1706105656692, 1706105685116
	node : 1706105656769, 1706105656806
	node : 1706105656794, 1706105656860
	node : 1706105656802, 1706105656852

Loading

Copy link

Workflow Telemetry - QRYN CI / build (18)

Workflow telemetry for commit 037eff5217ac5730f4d98d03aa230ad4f2b66f0f
You can access workflow job details here

Step Trace

gantt
	title build (18)
	dateFormat x
	axisFormat %H:%M:%S
	Set up job : milestone, 1706105615000, 1706105616000
	Initialize containers : 1706105616000, 1706105627000
	Run actions/checkout@v4 : 1706105627000, 1706105628000
	Use Node.js 18 : 1706105628000, 1706105635000
	Run npm install : 1706105636000, 1706105650000
	Run npm run postinstall : 1706105650000, 1706105651000
	Run git submodule init : 1706105651000, 1706105651000
	Run git submodule update : 1706105651000, 1706105652000
	Workflow Telemetry : 1706105652000, 1706105652000

Loading

CPU Metrics

chart_stacked_area_time_5ba05454-abd0-410c-82a4-210fd11d3af3

Memory Metrics

chart_stacked_area_time_18ff0675-7640-4986-b8f8-fdb2a01282b2

IO Metrics

Read Write
Network I/O chart_line_time_e9028485-9b0a-40f7-a579-d2c8230f59af chart_line_time_9a4f1a7a-66c0-41dd-a773-9a297ab2a10a
Disk I/O chart_line_time_e4de3839-21c3-40f8-8057-29f487608adb chart_line_time_fc9220d2-8a95-4ddc-94f3-2fed5e26019c

Process Trace

Top 100 processes with highest duration

gantt
	title build (18)
	dateFormat x
	axisFormat %H:%M:%S
	bash : 1706105652226, 1706105681240
	npm : 1706105652227, 1706105681235
	node : 1706105652227, 1706105681235
	jest : 1706105652552, 1706105681231
	node : 1706105652552, 1706105681231
	node : 1706105652731, 1706105652777
	find : 1706105653028, 1706105653033
	find : 1706105653042, 1706105653405
	node : 1706105653433, 1706105653555
	node : 1706105653438, 1706105653556
	node : 1706105653441, 1706105653553
	node : 1706105653573, 1706105681155
	node : 1706105653575, 1706105681162
	node : 1706105653579, 1706105681173
	node : 1706105653697, 1706105653746
	node : 1706105653714, 1706105653749
	node : 1706105653720, 1706105653758

Loading

Copy link

Workflow Telemetry - QRYN CI / build (18)

Workflow telemetry for commit 037eff5217ac5730f4d98d03aa230ad4f2b66f0f
You can access workflow job details here

Step Trace

gantt
	title build (18)
	dateFormat x
	axisFormat %H:%M:%S
	Set up job : milestone, 1706105616000, 1706105617000
	Run actions/checkout@v4 : 1706105617000, 1706105618000
	Use Node.js 18 : 1706105618000, 1706105620000
	Run npm install : 1706105620000, 1706105633000
	Run npm run postinstall : 1706105634000, 1706105634000
	Run git submodule init : 1706105634000, 1706105634000
	Run git submodule update : 1706105634000, 1706105635000
	Run docker-compose -f docker/e2e/docker-compose-cluster.yaml up -d : 1706105635000, 1706105646000
	Run sleep 5 : 1706105646000, 1706105651000
	Workflow Telemetry : 1706105651000, 1706105651000
	Run node qryn.mjs >/dev/stdout & : 1706105651000, 1706105656000

Loading

CPU Metrics

chart_stacked_area_time_53bb1076-523c-41de-8b52-05e8ea613871

Memory Metrics

chart_stacked_area_time_9ab298cb-ef80-4344-9fd6-43424fa5c4cc

IO Metrics

Read Write
Network I/O chart_line_time_e24a3db5-3c3c-4511-a610-bd8f468e0900 chart_line_time_6e64d71a-47d5-46eb-8742-f596305e79f9
Disk I/O chart_line_time_b4cbc843-7145-4ce7-9b67-82a9c47a49bc chart_line_time_012bd471-7c05-4f65-a491-69e19e9fb285

Process Trace

Top 100 processes with highest duration

gantt
	title build (18)
	dateFormat x
	axisFormat %H:%M:%S
	bash : 1706105651229, 1706105651230
	bash : 1706105656247, 1706105686567
	npm : 1706105656249, 1706105686563
	node : 1706105656249, 1706105686563
	jest : 1706105656534, 1706105686557
	node : 1706105656534, 1706105686557
	node : 1706105656710, 1706105656742
	find : 1706105656972, 1706105656973
	find : 1706105656978, 1706105657199
	node : 1706105657220, 1706105657311
	node : 1706105657225, 1706105657312
	node : 1706105657228, 1706105657316
	node : 1706105657336, 1706105686497
	node : 1706105657338, 1706105686510
	node : 1706105657341, 1706105686520
	node : 1706105657438, 1706105657484
	node : 1706105657456, 1706105657498
	node : 1706105657467, 1706105657520

Loading

Copy link

Workflow Telemetry - QRYN CI / build (20)

Workflow telemetry for commit 037eff5217ac5730f4d98d03aa230ad4f2b66f0f
You can access workflow job details here

Step Trace

gantt
	title build (20)
	dateFormat x
	axisFormat %H:%M:%S
	Set up job : milestone, 1706105615000, 1706105617000
	Initialize containers : 1706105617000, 1706105628000
	Run actions/checkout@v4 : 1706105628000, 1706105629000
	Use Node.js 20 : 1706105629000, 1706105645000
	Run npm install : 1706105645000, 1706105657000
	Run npm run postinstall : 1706105657000, 1706105657000
	Run git submodule init : 1706105657000, 1706105657000
	Run git submodule update : 1706105658000, 1706105659000
	Workflow Telemetry : 1706105659000, 1706105659000

Loading

CPU Metrics

chart_stacked_area_time_05632e51-19d1-4739-b0b3-c63b9716aecc

Memory Metrics

chart_stacked_area_time_ca799026-de3c-4482-b7ce-88c67e88b54a

IO Metrics

Read Write
Network I/O chart_line_time_d56fda7a-16aa-46f5-8a44-602654bcaea8 chart_line_time_02bdcc03-3366-4191-9889-6b26614fa294
Disk I/O chart_line_time_9d550c8a-48ba-4730-a723-6a46273c82c2 chart_line_time_4f788cc9-6a7d-44e5-a9e3-b7ee6d83f7bd

Process Trace

Top 100 processes with highest duration

gantt
	title build (20)
	dateFormat x
	axisFormat %H:%M:%S
	bash : 1706105659267, 1706105687626
	npm : 1706105659269, 1706105687625
	node : 1706105659269, 1706105687625
	jest : 1706105659540, 1706105687617
	node : 1706105659540, 1706105687617
	node : 1706105659695, 1706105659729
	find : 1706105659955, 1706105659956
	find : 1706105659962, 1706105660351
	node : 1706105660423, 1706105660559
	node : 1706105660428, 1706105660555
	node : 1706105660431, 1706105660541
	node : 1706105660574, 1706105687569
	node : 1706105660576, 1706105687574
	node : 1706105660579, 1706105687566
	node : 1706105660696, 1706105660746
	node : 1706105660697, 1706105660793
	node : 1706105660724, 1706105660782

Loading

@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@metrico metrico deleted a comment from github-actions bot Jan 24, 2024
@akvlad
Copy link
Collaborator Author

akvlad commented Jan 24, 2024

@lmangani

Supported api

The api is a strange mix of grpc and HTTP 1.1.
We have some HTTP 1.1 POST requests with a protobuf message inside the body.
The response is a protobuf message as well. Here is the table of the supported requests:

Route PB Description RPC Description
POST /querier.v1.QuerierService/ProfileTypes https://github.com/metrico/qryn/blob/master/pyroscope/proto/querier.proto#L10 ProfileType returns a list of the existing profile types.
POST /querier.v1.QuerierService/LabelValues https://github.com/metrico/qryn/blob/master/pyroscope/proto/querier.proto#L12 LabelValues returns the existing label values for the provided label names.
POST /querier.v1.QuerierService/LabelNames https://github.com/metrico/qryn/blob/master/pyroscope/proto/querier.proto#L14 LabelNames returns a list of the existing label names.
POST /querier.v1.QuerierService/SelectSeries https://github.com/metrico/qryn/blob/master/pyroscope/proto/querier.proto#L24 SelectSeries returns a time series for the total sum of the requested profiles.
POST /querier.v1.QuerierService/SelectMergeStacktraces https://github.com/metrico/qryn/blob/master/pyroscope/proto/querier.proto#L18 SelectMergeStacktraces returns matching profiles aggregated in a flamegraph format. It will combine samples from within the same callstack, with each element being grouped by its function name.

@akvlad akvlad merged commit b0c8178 into master Jan 24, 2024
10 checks passed
@akvlad akvlad deleted the pyroscope-2 branch January 24, 2024 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants