Logging and Observability
Metric Counter
Emit a Count
Scripts can emit small metric lines after work completes. A counter is simple to graph when the metric name and value shape stay fixed.
Program
Play the script to choose the count and see the metric line.
metric_counter_line.sh
Replay: real traced execution (multi-file project)
#!/usr/bin/env bash
count=3
metric="jobs_processed"
line="$metric=$count"
echo "$line"
#!/usr/bin/env bash
count=5
metric="jobs_processed"
line="$metric=$count"
echo "$line"
count ← 3
3count=34metric="jobs_processed"values this step3countmetric ← jobs_processed
3count=34metric="jobs_processed"5line="$metric=$count"values this stepjobs_processedmetricline ← jobs_processed=3
4metric="jobs_processed"5line="$metric=$count"6echo "$line"values this stepjobs_processed=3linejobs_processedmetric3countecho "$line"
5line="$metric=$count"6echo "$line"outputjobs_processed=3values this stepjobs_processed=3line
count ← 5
3count=54metric="jobs_processed"values this step5countmetric ← jobs_processed
3count=54metric="jobs_processed"5line="$metric=$count"values this stepjobs_processedmetricline ← jobs_processed=5
4metric="jobs_processed"5line="$metric=$count"6echo "$line"values this stepjobs_processed=5linejobs_processedmetric5countecho "$line"
5line="$metric=$count"6echo "$line"outputjobs_processed=5values this stepjobs_processed=5line
metric
A metric is a named measurement emitted by a script.
counter
A counter records how many things were processed.
fixed name
Keeping the metric name stable lets later tools compare values over time.