Skip to content

Instantly share code, notes, and snippets.

View cyrille-leclerc's full-sized avatar

Cyrille Le Clerc cyrille-leclerc

View GitHub Profile
@cyrille-leclerc
cyrille-leclerc / 0-README.md
Created January 8, 2026 21:25
OTel Demo target_info

target_info produced by the otel-demo when job and instance labels are also produced for infrastructure monitoring metrics.

  transform/prometheus_instance_and_job_generator:
    error_mode: ignore
    metric_statements:
      # INSTANCE
      - set(resource.attributes["instance"], resource.attributes["service.instance.id"])   where resource.attributes["instance"] == nil and resource.attributes["service.instance.id"] != nil
      - set(resource.attributes["instance"], resource.attributes["container.id"])         where resource.attributes["instance"] == nil and resource.attributes["container.id"] != nil
      - set(resource.attributes["instance"], resource.attributes["host.id"])              where resource.attributes["instance"] == nil and resource.attributes["host.id"] != nil
@cyrille-leclerc
cyrille-leclerc / opentelemetry-operator.prometheus
Created January 1, 2026 20:50
OTel Operator internal telemetry
# HELP certwatcher_read_certificate_errors_total Total number of certificate read errors
# TYPE certwatcher_read_certificate_errors_total counter
certwatcher_read_certificate_errors_total 0
# HELP certwatcher_read_certificate_total Total number of certificate reads
# TYPE certwatcher_read_certificate_total counter
certwatcher_read_certificate_total 1757
# HELP controller_runtime_active_workers Number of currently used workers per controller
# TYPE controller_runtime_active_workers gauge
controller_runtime_active_workers{controller="opampbridge"} 0
controller_runtime_active_workers{controller="opentelemetrycollector"} 0
@cyrille-leclerc
cyrille-leclerc / jenkins-prometheus.txt
Created July 2, 2025 15:39
jenkins-prometheus.txt
# HELP ci_pipeline_run_active Gauge of active jobs
# TYPE ci_pipeline_run_active gauge
ci_pipeline_run_active{otel_scope_name="io.jenkins.opentelemetry",otel_scope_version="3.999999-SNAPSHOT (private-01a92213-cyrilleleclerc)"} 0.0
# HELP cicd_worker_count The number of workers on the CICD system by state.
# TYPE cicd_worker_count gauge
cicd_worker_count{cicd_worker_state="available",otel_scope_name="io.jenkins.opentelemetry",otel_scope_version="3.999999-SNAPSHOT (private-01a92213-cyrilleleclerc)"} 1.0
cicd_worker_count{cicd_worker_state="busy",otel_scope_name="io.jenkins.opentelemetry",otel_scope_version="3.999999-SNAPSHOT (private-01a92213-cyrilleleclerc)"} 0.0
cicd_worker_count{cicd_worker_state="offline",otel_scope_name="io.jenkins.opentelemetry",otel_scope_version="3.999999-SNAPSHOT (private-01a92213-cyrilleleclerc)"} 1.0
# HELP http_server_request_duration_seconds Duration of HTTP server requests.
# TYPE http_server_request_duration_seconds histogram
@cyrille-leclerc
cyrille-leclerc / metrics-aggregation-rules.json
Last active August 1, 2023 16:01
Mimir Adaptive Metrics Aggregation Rules for App O11y
[
{
"metric": "traces_service_graph_request_client_seconds_bucket",
"drop_labels": [
"__metrics_gen_instance"
],
"aggregations": [
"sum:counter"
]
},
@cyrille-leclerc
cyrille-leclerc / 10-grafana-agent-config.md
Last active June 15, 2023 16:50
Grafana Agent Integration Metrics: Redis, PostgreSQL
@cyrille-leclerc
cyrille-leclerc / console.log
Last active May 12, 2023 08:54
install grafana agent flow on mac
$ brew tap grafana/grafana
==> Tapping grafana/grafana
Cloning into '/opt/homebrew/Library/Taps/grafana/homebrew-grafana'...
remote: Enumerating objects: 269, done.
remote: Counting objects: 100% (49/49), done.
remote: Compressing objects: 100% (26/26), done.
remote: Total 269 (delta 37), reused 23 (delta 23), pack-reused 220
Receiving objects: 100% (269/269), 64.21 KiB | 2.92 MiB/s, done.
Resolving deltas: 100% (148/148), done.
@cyrille-leclerc
cyrille-leclerc / grafana-agent.flow
Created April 18, 2023 16:23
Grafana Agent Flow OTLP config template
otelcol.receiver.otlp "default" {
grpc {
endpoint = "0.0.0.0:4317"
}
output {
metrics = [otelcol.processor.batch.default.input]
logs = [otelcol.processor.batch.default.input]
traces = [otelcol.processor.batch.default.input]
}
}
@cyrille-leclerc
cyrille-leclerc / search_traces.json
Created March 29, 2023 19:49
Tempo API Search Traces
{
"traces": [
{
"traceID": "111f5594ff52b1f917f4deca8e38243a",
"rootServiceName": "frontend",
"rootTraceName": "GET /api/products/{id}",
"startTimeUnixNano": "1680118368360666000",
"durationMs": 1,
"spanSet": {
"spans": [
cat 1_springboot_app.log.log | promtail --config.file 2_promtail.yml --stdin  --inspect -config.expand-env  -dry-run &> 3_promtail_dryrun_output.log
@cyrille-leclerc
cyrille-leclerc / spring-boot-otel-agent-1.13.0-startup-logs.log
Created April 21, 2022 13:41
Spring Boot Otel Java Agent 1.13.0 Startup logs - `MetricStorageRegistry - Found duplicate metric definition...`
export OTEL_EXPORTER_OTLP_ENDPOINT: http://localhost:4317
export OTEL_RESOURCE_ATTRIBUTES=service.name=anti-fraud-service,service.namespace=com-shoppingcart,service.version=1.0-SNAPSHOT,deployment.environment=production
export OTEL_METRICS_EXPORTER=otlp
export OTEL_LOGS_EXPORTER=otlp
java -javaagent:./../.otel/opentelemetry-javaagent-1.13.0.jar -Dotel.experimental.sdk.metrics.debug=true -Dserver.port=8081 -jar target/anti-fraud-1.0-SNAPSHOT.jar
[otel.javaagent 2022-04-21 15:06:05:405 +0200] [main] INFO io.opentelemetry.javaagent.tooling.VersionLogger - opentelemetry-javaagent - version: 1.13.0
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \