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

Docker Compose(profiles): Profiles Ingestion via Labels #51

Merged
merged 1 commit into from
Mar 16, 2024

Conversation

qclaogui
Copy link
Owner

@qclaogui qclaogui commented Mar 15, 2024

Added support for ingesting profiles and controlling the behavior of their ingestion through labels.

The following docker compose service labels are supported:

Profiles

The following service labels are supported for docker compose services:

The full list of profile types supported by labels is cpu, memory, goroutine, block, mutex and fgprof:

Label Description
profiles.agent.grafana.com/service_name
or
profiles.grafana.com/service_name
or
pyroscope.io/service_name
The special label service_name is required and must always be present. If it is not specified, will attempt to infer it from either of the following sources. in this order:
  • 1. __meta_docker_container_label_profiles_agent_grafana_com_service_name which is a profiles.agent.grafana.com/service_name service label
  • 2. __meta_docker_container_label_profiles_grafana_com_service_name which is a profiles.grafana.com/service_name service label
  • 3. __meta_docker_container_label_pyroscope_io_service_name which is a pyroscope.io/service_name service label
  • 4. __meta_docker_container_name
profiles.agent.grafana.com/<profile-type>.scrape
or
profiles.grafana.com/<profile-type>.scrape
Boolean whether or not to scrape. (default is false).
profiles.agent.grafana.com/<profile-type>.path
or
profiles.grafana.com/<profile-type>.path
The path to the profile type on the target.
profiles.agent.grafana.com/tenant
or
profiles.grafana.com/tenant
The tenant to write profile to. default: (.*)
profiles.agent.grafana.com/scheme
or
profiles.grafana.com/scheme
The default scraping scheme is http.
profiles.agent.grafana.com/port
or
profiles.grafana.com/port
the default port to scrape is the target port, this can be specified as a single value which would override the scrape port being used for all ports attached to the target, note that even if an target had multiple targets, the relabel_config targets are deduped before scraping
profiles.agent.grafana.com/interval
or
profiles.grafana.com/interval
The default interval to scrape is 30s, this can be override.
profiles.agent.grafana.com/timeout
or
profiles.grafana.com/timeout
The default timeout for scraping is 15s, this can be override.

Metrics

See: #49

Logs

See: #47

@qclaogui qclaogui self-assigned this Mar 15, 2024
@qclaogui qclaogui marked this pull request as draft March 15, 2024 16:09
@qclaogui qclaogui marked this pull request as ready for review March 16, 2024 07:31
Signed-off-by: Weifeng Wang <[email protected]>

update

Signed-off-by: Weifeng Wang <[email protected]>

update docs

Signed-off-by: Weifeng Wang <[email protected]>

update docs

Signed-off-by: Weifeng Wang <[email protected]>
@qclaogui qclaogui force-pushed the profiles-ingestion-via-labels branch from 0044ce1 to ef65d4b Compare March 16, 2024 09:48
@qclaogui qclaogui merged commit eab340f into main Mar 16, 2024
1 check passed
@qclaogui qclaogui deleted the profiles-ingestion-via-labels branch March 16, 2024 09:52
This was referenced Mar 26, 2024
This was referenced Mar 29, 2024
This was referenced Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant