Skip to content

Commit f45c0b5

Browse files
committed
Make perform scenario a telemetry span
1 parent 26143b8 commit f45c0b5

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

doc/telemetry.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22

33
Amoc also exposes the following telemetry events:
44

5+
### Scenario
6+
7+
A telemetry span of a full scenario execution
8+
```erlang
9+
event_name: [amoc, scenario, user]
10+
measurements: #{}
11+
metadata: #{}
12+
```
13+
514
### Controller
615

716
Indicates the number of users added or removed

src/amoc_user.erl

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,15 @@ stop(Pid, Force) when is_pid(Pid) ->
2929
init(Parent, Scenario, Id, State) ->
3030
proc_lib:init_ack(Parent, {ok, self()}),
3131
process_flag(trap_exit, true),
32-
perform_scenario(Scenario, Id, State).
32+
ScenarioFun = fun() -> perform_scenario(Scenario, Id, State) end,
33+
telemetry:span([amoc, scenario, user], #{}, ScenarioFun).
3334

34-
-spec perform_scenario(amoc:scenario(), amoc_scenario:user_id(), state()) -> ok.
35+
-spec perform_scenario(amoc:scenario(), amoc_scenario:user_id(), state()) -> {term(), map()}.
3536
perform_scenario(Scenario, Id, State) ->
36-
case erlang:function_exported(Scenario, start, 2) of
37-
true ->
38-
Scenario:start(Id, State);
39-
false ->
40-
Scenario:start(Id)
41-
end.
37+
Ret = case erlang:function_exported(Scenario, start, 2) of
38+
true ->
39+
Scenario:start(Id, State);
40+
false ->
41+
Scenario:start(Id)
42+
end,
43+
{Ret, #{}}.

0 commit comments

Comments
 (0)