Add telemetry for scrobble rule application
This commit is contained in:
@@ -336,12 +336,17 @@ defmodule MusicLibrary.ScrobbleRules do
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
def apply_all_rules do
|
def apply_all_rules do
|
||||||
list_enabled_rules()
|
:telemetry.span([:music_library, :scrobble_rules, :apply_all_rules], %{}, fn ->
|
||||||
|> Enum.map(fn rule ->
|
result =
|
||||||
case apply_rule(rule) do
|
list_enabled_rules()
|
||||||
{:ok, count} -> {:ok, {rule.type, rule.match_value, count}}
|
|> Enum.map(fn rule ->
|
||||||
{:error, reason} -> {:error, {rule.type, rule.match_value, reason}}
|
case apply_rule(rule) do
|
||||||
end
|
{:ok, count} -> {:ok, {rule.type, rule.match_value, count}}
|
||||||
|
{:error, reason} -> {:error, {rule.type, rule.match_value, reason}}
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
{result, %{scrobble_track_count: :all}}
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -362,12 +367,17 @@ defmodule MusicLibrary.ScrobbleRules do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def apply_all_rules(tracks) do
|
def apply_all_rules(tracks) do
|
||||||
list_enabled_rules()
|
:telemetry.span([:music_library, :scrobble_rules, :apply_all_rules], %{}, fn ->
|
||||||
|> Enum.map(fn rule ->
|
result =
|
||||||
case apply_rule(rule, tracks) do
|
list_enabled_rules()
|
||||||
{:ok, count} -> {:ok, {rule.type, rule.match_value, count}}
|
|> Enum.map(fn rule ->
|
||||||
{:error, reason} -> {:error, {rule.type, rule.match_value, reason}}
|
case apply_rule(rule, tracks) do
|
||||||
end
|
{:ok, count} -> {:ok, {rule.type, rule.match_value, count}}
|
||||||
|
{:error, reason} -> {:error, {rule.type, rule.match_value, reason}}
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
{result, %{scrobble_track_count: Enum.count(tracks)}}
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -88,6 +88,13 @@ defmodule MusicLibraryWeb.Telemetry do
|
|||||||
reporter_options: [nav: "Assets"]
|
reporter_options: [nav: "Assets"]
|
||||||
),
|
),
|
||||||
|
|
||||||
|
# Scrobble Rules
|
||||||
|
summary("music_library.scrobble_rules.apply_all_rules.stop.duration",
|
||||||
|
unit: {:native, :millisecond},
|
||||||
|
tags: [:scrobble_track_count],
|
||||||
|
reporter_options: [nav: "Scrobble Rules"]
|
||||||
|
),
|
||||||
|
|
||||||
# VM Metrics
|
# VM Metrics
|
||||||
summary("vm.memory.total", unit: {:byte, :megabyte}),
|
summary("vm.memory.total", unit: {:byte, :megabyte}),
|
||||||
summary("vm.total_run_queue_lengths.total"),
|
summary("vm.total_run_queue_lengths.total"),
|
||||||
|
|||||||
Reference in New Issue
Block a user