I think I don’t really get the idea of measurement options in Telemetry.Metrics
.
I’ve got a function
def batch_process_jobs do
# process jobs somewhere here...
:telemetry.execute(
[:my_app, :jobs],
%{count: length(failed_task_ids)},
%{status: "failed"}
)
:telemetry.execute(
[:my_app, :jobs],
%{count: length(succeeded_task_ids)},
%{status: "succeeded"}
)
end
So the idea is I want to see how many jobs failed and how many jobs succeeded after a batch process. My thinking is that if I give the number of failed and succeeded jobs (by calculating the length of IDs) as the count I’d expect that much increase in my bar graph as I am grouping by status
.
Below you can see an example graph. As you can see both succeeded
(light blue) and failed
(dark blue) job count are the same however that’s not the case actually.
Why does that happen? When and how to use the measurement options like I tried in this case by giving count
?
Edit: I figured that the count
in the graph is actually the number of times :telemetry.execute
was invoked for that specific metric type. Since they are in the same block, they are called the same number of times regardless of the count
value I pass. Not sure whether that helps.
Cheers,
Burak