Skip to content

Commit 4588af5

Browse files
authored
fix: remove tenant tag on RPC metrics (#1655)
* fix: remove tenant tag on RPC metrics * chore: bump version
1 parent 6a1d77a commit 4588af5

File tree

8 files changed

+27
-92
lines changed

8 files changed

+27
-92
lines changed

lib/realtime/gen_rpc.ex

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ defmodule Realtime.GenRpc do
8181
Options:
8282
8383
- `:key` - Optional key to consistently select the same gen_rpc clients to guarantee message order between nodes
84-
- `:tenant_id` - Tenant ID for telemetry and logging, defaults to nil
84+
- `:tenant_id` - Tenant ID for logging, defaults to nil
8585
- `:timeout` - timeout in milliseconds for the RPC call, defaults to 5000ms
8686
"""
8787
@spec call(node, module, atom, list(any), keyword()) :: result
@@ -120,16 +120,16 @@ defmodule Realtime.GenRpc do
120120
external_id: tenant_id
121121
)
122122

123-
telemetry_failure(node, latency, tenant_id)
123+
telemetry_failure(node, latency)
124124

125125
{:error, :rpc_error, reason}
126126

127127
{:error, _} ->
128-
telemetry_failure(node, latency, tenant_id)
128+
telemetry_failure(node, latency)
129129
response
130130

131131
_ ->
132-
telemetry_success(node, latency, tenant_id)
132+
telemetry_success(node, latency)
133133
response
134134
end
135135
end
@@ -184,32 +184,32 @@ defmodule Realtime.GenRpc do
184184
external_id: tenant_id
185185
)
186186

187-
telemetry_failure(node, latency, tenant_id)
187+
telemetry_failure(node, latency)
188188
{node, result}
189189

190190
{node, latency, {:ok, _} = result} ->
191-
telemetry_success(node, latency, tenant_id)
191+
telemetry_success(node, latency)
192192
{node, result}
193193

194194
{node, latency, result} ->
195-
telemetry_failure(node, latency, tenant_id)
195+
telemetry_failure(node, latency)
196196
{node, result}
197197
end)
198198
end
199199

200-
defp telemetry_success(node, latency, tenant_id) do
200+
defp telemetry_success(node, latency) do
201201
Telemetry.execute(
202202
[:realtime, :rpc],
203203
%{latency: latency},
204-
%{origin_node: node(), target_node: node, success: true, tenant: tenant_id, mechanism: :gen_rpc}
204+
%{origin_node: node(), target_node: node, success: true, mechanism: :gen_rpc}
205205
)
206206
end
207207

208-
defp telemetry_failure(node, latency, tenant_id) do
208+
defp telemetry_failure(node, latency) do
209209
Telemetry.execute(
210210
[:realtime, :rpc],
211211
%{latency: latency},
212-
%{origin_node: node(), target_node: node, success: false, tenant: tenant_id, mechanism: :gen_rpc}
212+
%{origin_node: node(), target_node: node, success: false, mechanism: :gen_rpc}
213213
)
214214
end
215215

lib/realtime/monitoring/prom_ex/plugins/tenants.ex

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,6 @@ defmodule Realtime.PromEx.Plugins.Tenants do
1818
@impl true
1919
def event_metrics(_) do
2020
Event.build(:realtime, [
21-
distribution(
22-
[:realtime, :rpc],
23-
event_name: [:realtime, :rpc],
24-
description: "Latency of rpc calls triggered by a tenant action",
25-
measurement: :latency,
26-
unit: {:microsecond, :millisecond},
27-
tags: [:success, :tenant, :mechanism],
28-
reporter_options: [peep_bucket_calculator: Buckets]
29-
),
3021
distribution(
3122
[:realtime, :global, :rpc],
3223
event_name: [:realtime, :rpc],

lib/realtime/rpc.ex

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,13 @@ defmodule Realtime.Rpc do
1010
"""
1111
@spec call(atom(), atom(), atom(), any(), keyword()) :: any()
1212
def call(node, mod, func, args, opts \\ []) do
13-
tenant_id = Keyword.get(opts, :tenant_id)
1413
timeout = Keyword.get(opts, :timeout, Application.get_env(:realtime, :rpc_timeout))
1514
{latency, response} = :timer.tc(fn -> :rpc.call(node, mod, func, args, timeout) end)
1615

1716
Telemetry.execute(
1817
[:realtime, :rpc],
1918
%{latency: latency},
20-
%{mod: mod, func: func, target_node: node, origin_node: node(), mechanism: :rpc, tenant: tenant_id, success: nil}
19+
%{mod: mod, func: func, target_node: node, origin_node: node(), mechanism: :rpc, success: nil}
2120
)
2221

2322
response
@@ -45,7 +44,6 @@ defmodule Realtime.Rpc do
4544
target_node: node,
4645
origin_node: node(),
4746
success: true,
48-
tenant: tenant_id,
4947
mechanism: :erpc
5048
}
5149
)
@@ -62,7 +60,6 @@ defmodule Realtime.Rpc do
6260
target_node: node,
6361
origin_node: node(),
6462
success: false,
65-
tenant: tenant_id,
6663
mechanism: :erpc
6764
}
6865
)
@@ -87,7 +84,6 @@ defmodule Realtime.Rpc do
8784
target_node: node,
8885
origin_node: node(),
8986
success: false,
90-
tenant: tenant_id,
9187
mechanism: :erpc
9288
}
9389
)

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ defmodule Realtime.MixProject do
44
def project do
55
[
66
app: :realtime,
7-
version: "2.67.7",
7+
version: "2.67.8",
88
elixir: "~> 1.18",
99
elixirc_paths: elixirc_paths(Mix.env()),
1010
start_permanent: Mix.env() == :prod,

test/realtime/extensions/cdc_rls/cdc_rls_test.exs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,6 @@ defmodule Realtime.Extensions.CdcRlsTest do
221221
[:realtime, :rpc],
222222
%{latency: _},
223223
%{
224-
tenant: "dev_tenant",
225224
mechanism: :gen_rpc,
226225
success: true
227226
}
@@ -381,7 +380,6 @@ defmodule Realtime.Extensions.CdcRlsTest do
381380
[:realtime, :rpc],
382381
%{latency: _},
383382
%{
384-
tenant: "dev_tenant",
385383
mechanism: :gen_rpc,
386384
origin_node: _,
387385
success: true,

test/realtime/gen_rpc_test.exs

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ defmodule Realtime.GenRpcTest do
2828
origin_node: ^current_node,
2929
target_node: ^current_node,
3030
success: true,
31-
tenant: "123",
3231
mechanism: :gen_rpc
3332
}}
3433
end
@@ -43,7 +42,6 @@ defmodule Realtime.GenRpcTest do
4342
origin_node: ^current_node,
4443
target_node: ^current_node,
4544
success: false,
46-
tenant: "123",
4745
mechanism: :gen_rpc
4846
}}
4947
end
@@ -57,7 +55,6 @@ defmodule Realtime.GenRpcTest do
5755
origin_node: ^current_node,
5856
target_node: ^node,
5957
success: true,
60-
tenant: "123",
6158
mechanism: :gen_rpc
6259
}}
6360
end
@@ -72,7 +69,6 @@ defmodule Realtime.GenRpcTest do
7269
origin_node: ^current_node,
7370
target_node: ^node,
7471
success: false,
75-
tenant: "123",
7672
mechanism: :gen_rpc
7773
}}
7874
end
@@ -94,7 +90,6 @@ defmodule Realtime.GenRpcTest do
9490
origin_node: ^current_node,
9591
target_node: ^current_node,
9692
success: false,
97-
tenant: 123,
9893
mechanism: :gen_rpc
9994
}}
10095
end
@@ -116,7 +111,6 @@ defmodule Realtime.GenRpcTest do
116111
origin_node: ^current_node,
117112
target_node: ^node,
118113
success: false,
119-
tenant: 123,
120114
mechanism: :gen_rpc
121115
}}
122116
end
@@ -131,7 +125,6 @@ defmodule Realtime.GenRpcTest do
131125
origin_node: ^current_node,
132126
target_node: ^current_node,
133127
success: false,
134-
tenant: "123",
135128
mechanism: :gen_rpc
136129
}}
137130
end
@@ -146,7 +139,6 @@ defmodule Realtime.GenRpcTest do
146139
origin_node: ^current_node,
147140
target_node: ^node,
148141
success: false,
149-
tenant: "123",
150142
mechanism: :gen_rpc
151143
}}
152144
end
@@ -168,7 +160,6 @@ defmodule Realtime.GenRpcTest do
168160
origin_node: ^current_node,
169161
target_node: ^node,
170162
success: false,
171-
tenant: 123,
172163
mechanism: :gen_rpc
173164
}}
174165
end
@@ -315,7 +306,6 @@ defmodule Realtime.GenRpcTest do
315306
origin_node: ^current_node,
316307
target_node: ^node,
317308
success: true,
318-
tenant: "123",
319309
mechanism: :gen_rpc
320310
}}
321311

@@ -324,7 +314,6 @@ defmodule Realtime.GenRpcTest do
324314
origin_node: ^current_node,
325315
target_node: ^current_node,
326316
success: true,
327-
tenant: "123",
328317
mechanism: :gen_rpc
329318
}}
330319
end
@@ -351,7 +340,6 @@ defmodule Realtime.GenRpcTest do
351340
origin_node: ^current_node,
352341
target_node: ^node,
353342
success: false,
354-
tenant: 123,
355343
mechanism: :gen_rpc
356344
}}
357345

@@ -360,7 +348,6 @@ defmodule Realtime.GenRpcTest do
360348
origin_node: ^current_node,
361349
target_node: ^current_node,
362350
success: false,
363-
tenant: 123,
364351
mechanism: :gen_rpc
365352
}}
366353
end
@@ -385,7 +372,6 @@ defmodule Realtime.GenRpcTest do
385372
origin_node: ^current_node,
386373
target_node: ^node,
387374
success: false,
388-
tenant: 123,
389375
mechanism: :gen_rpc
390376
}}
391377

@@ -394,7 +380,6 @@ defmodule Realtime.GenRpcTest do
394380
origin_node: ^current_node,
395381
target_node: ^current_node,
396382
success: true,
397-
tenant: 123,
398383
mechanism: :gen_rpc
399384
}}
400385
end

test/realtime/monitoring/prom_ex/plugins/tenants_test.exs

Lines changed: 12 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,6 @@ defmodule Realtime.PromEx.Plugins.TenantsTest do
3030
%{tenant: random_string()}
3131
end
3232

33-
test "success", %{tenant: tenant} do
34-
metric = "realtime_rpc_count"
35-
# Enough time for the poll rate to be triggered at least once
36-
Process.sleep(200)
37-
previous_value = metric_value(metric, mechanism: "erpc", success: true, tenant: tenant) || 0
38-
assert {:ok, "success"} = Rpc.enhanced_call(node(), Test, :success, [], tenant_id: tenant)
39-
Process.sleep(200)
40-
assert metric_value(metric, mechanism: "erpc", success: true, tenant: tenant) == previous_value + 1
41-
end
42-
4333
test "global success", %{tenant: tenant} do
4434
metric = "realtime_global_rpc_count"
4535
# Enough time for the poll rate to be triggered at least once
@@ -50,16 +40,6 @@ defmodule Realtime.PromEx.Plugins.TenantsTest do
5040
assert metric_value(metric, mechanism: "erpc", success: true) == previous_value + 1
5141
end
5242

53-
test "failure", %{tenant: tenant} do
54-
metric = "realtime_rpc_count"
55-
# Enough time for the poll rate to be triggered at least once
56-
Process.sleep(200)
57-
previous_value = metric_value(metric, mechanism: "erpc", success: false, tenant: tenant) || 0
58-
assert {:error, "failure"} = Rpc.enhanced_call(node(), Test, :failure, [], tenant_id: tenant)
59-
Process.sleep(200)
60-
assert metric_value(metric, mechanism: "erpc", success: false, tenant: tenant) == previous_value + 1
61-
end
62-
6343
test "global failure", %{tenant: tenant} do
6444
metric = "realtime_global_rpc_count"
6545
# Enough time for the poll rate to be triggered at least once
@@ -70,19 +50,6 @@ defmodule Realtime.PromEx.Plugins.TenantsTest do
7050
assert metric_value(metric, mechanism: "erpc", success: false) == previous_value + 1
7151
end
7252

73-
test "exception", %{tenant: tenant} do
74-
metric = "realtime_rpc_count"
75-
# Enough time for the poll rate to be triggered at least once
76-
Process.sleep(200)
77-
previous_value = metric_value(metric, mechanism: "erpc", success: false, tenant: tenant) || 0
78-
79-
assert {:error, :rpc_error, %RuntimeError{message: "runtime error"}} =
80-
Rpc.enhanced_call(node(), Test, :exception, [], tenant_id: tenant)
81-
82-
Process.sleep(200)
83-
assert metric_value(metric, mechanism: "erpc", success: false, tenant: tenant) == previous_value + 1
84-
end
85-
8653
test "global exception", %{tenant: tenant} do
8754
metric = "realtime_global_rpc_count"
8855
# Enough time for the poll rate to be triggered at least once
@@ -102,38 +69,38 @@ defmodule Realtime.PromEx.Plugins.TenantsTest do
10269
%{tenant: random_string()}
10370
end
10471

105-
test "success", %{tenant: tenant} do
106-
metric = "realtime_rpc_count"
72+
test "global success", %{tenant: tenant} do
73+
metric = "realtime_global_rpc_count"
10774
# Enough time for the poll rate to be triggered at least once
10875
Process.sleep(200)
109-
previous_value = metric_value(metric, mechanism: "gen_rpc", success: true, tenant: tenant) || 0
76+
previous_value = metric_value(metric, mechanism: "gen_rpc", success: true) || 0
11077
assert GenRpc.multicall(Test, :success, [], tenant_id: tenant) == [{node(), {:ok, "success"}}]
11178
Process.sleep(200)
112-
assert metric_value(metric, mechanism: "gen_rpc", success: true, tenant: tenant) == previous_value + 1
79+
assert metric_value(metric, mechanism: "gen_rpc", success: true) == previous_value + 1
11380
end
11481

115-
test "failure", %{tenant: tenant} do
116-
metric = "realtime_rpc_count"
82+
test "global failure", %{tenant: tenant} do
83+
metric = "realtime_global_rpc_count"
11784
# Enough time for the poll rate to be triggered at least once
11885
Process.sleep(200)
119-
previous_value = metric_value(metric, mechanism: "gen_rpc", success: false, tenant: tenant) || 0
86+
previous_value = metric_value(metric, mechanism: "gen_rpc", success: false) || 0
12087
assert GenRpc.multicall(Test, :failure, [], tenant_id: tenant) == [{node(), {:error, "failure"}}]
12188
Process.sleep(200)
122-
assert metric_value(metric, mechanism: "gen_rpc", success: false, tenant: tenant) == previous_value + 1
89+
assert metric_value(metric, mechanism: "gen_rpc", success: false) == previous_value + 1
12390
end
12491

125-
test "exception", %{tenant: tenant} do
126-
metric = "realtime_rpc_count"
92+
test "global exception", %{tenant: tenant} do
93+
metric = "realtime_global_rpc_count"
12794
# Enough time for the poll rate to be triggered at least once
12895
Process.sleep(200)
129-
previous_value = metric_value(metric, mechanism: "gen_rpc", success: false, tenant: tenant) || 0
96+
previous_value = metric_value(metric, mechanism: "gen_rpc", success: false) || 0
13097
node = node()
13198

13299
assert assert [{^node, {:error, :rpc_error, {:EXIT, {%RuntimeError{message: "runtime error"}, _stacktrace}}}}] =
133100
GenRpc.multicall(Test, :exception, [], tenant_id: tenant)
134101

135102
Process.sleep(200)
136-
assert metric_value(metric, mechanism: "gen_rpc", success: false, tenant: tenant) == previous_value + 1
103+
assert metric_value(metric, mechanism: "gen_rpc", success: false) == previous_value + 1
137104
end
138105
end
139106

test/realtime/rpc_test.exs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ defmodule Realtime.RpcTest do
8181
func: :test_success,
8282
origin_node: ^origin_node,
8383
target_node: ^node,
84-
success: true,
85-
tenant: "123"
84+
success: true
8685
}}
8786
end
8887

@@ -100,8 +99,7 @@ defmodule Realtime.RpcTest do
10099
func: :test_raise,
101100
origin_node: ^origin_node,
102101
target_node: ^node,
103-
success: false,
104-
tenant: "123"
102+
success: false
105103
}}
106104
end
107105

0 commit comments

Comments
 (0)