Skip to content

Commit

Permalink
Fix MatchError in telemetry logger (#304)
Browse files Browse the repository at this point in the history
  • Loading branch information
whatyouhide committed May 2, 2023
1 parent b4de808 commit 5f10245
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 9 deletions.
29 changes: 20 additions & 9 deletions lib/xandra/telemetry.ex
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ defmodule Xandra.Telemetry do
"""
@moduledoc since: "0.15.0"

alias Xandra.Cluster.Host

require Logger

@doc """
Expand Down Expand Up @@ -211,6 +213,24 @@ defmodule Xandra.Telemetry do
:telemetry.event_metadata(),
:no_config
) :: :ok
def handle_event(event, measurements, metadata, config)

def handle_event([:xandra, :cluster | event], measurements, metadata, :no_config) do
%Host{address: address, port: port} = metadata.host
logger_meta = [xandra_address: address, xandra_port: port]

case event do
[:change_event] ->
Logger.debug("Received change event: #{inspect(measurements.event)}", logger_meta)

[:control_connection, :connected] ->
Logger.debug("Control connection established", logger_meta)

[:control_connection, :disconnected] ->
Logger.debug("Control connection disconnected", logger_meta)
end
end

def handle_event([:xandra | event], measurements, metadata, :no_config) do
%{address: address, port: port} = metadata
logger_meta = [xandra_address: address, xandra_port: port]
Expand All @@ -236,15 +256,6 @@ defmodule Xandra.Telemetry do
[:execute_query, :stop] ->
duration = System.convert_time_unit(measurements.duration, :native, :millisecond)
Logger.debug("Executed query in #{duration}ms: #{inspect(metadata.query)}", logger_meta)

[:cluster, :change_event] ->
Logger.debug("Received change event: #{inspect(measurements.event)}", logger_meta)

[:cluster, :control_connection, :connected] ->
Logger.debug("Control connection established", logger_meta)

[:cluster, :control_connection, :disconnected] ->
Logger.debug("Control connection disconnected", logger_meta)
end
end
end
4 changes: 4 additions & 0 deletions test/xandra/cluster/control_connection_test.exs
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ defmodule Xandra.Cluster.ControlConnectionTest do

@protocol_version XandraTest.IntegrationCase.protocol_version()

setup_all do
Xandra.Telemetry.attach_default_handler()
end

setup context do
parent = self()
mirror_ref = make_ref()
Expand Down

0 comments on commit 5f10245

Please sign in to comment.