Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:26
erlang
1982-erts-Add-behavior-attributes-to-erl_tracer...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 1982-erts-Add-behavior-attributes-to-erl_tracer.patch of Package erlang
From ee8806e836c82f51583d9237f0a0ad91e46c642f Mon Sep 17 00:00:00 2001 From: Lukas Larsson <lukas@erlang.org> Date: Wed, 27 Sep 2023 14:45:48 +0200 Subject: [PATCH 02/10] erts: Add behavior attributes to erl_tracer --- erts/preloaded/ebin/erl_tracer.beam | Bin 2464 -> 5212 bytes erts/preloaded/src/erl_tracer.erl | 133 ++++++++++++++++++++++++++++ 2 files changed, 133 insertions(+) diff --git a/erts/preloaded/ebin/erl_tracer.beam b/erts/preloaded/ebin/erl_tracer.beam index f7a53f657945961b2bfce909821b366ee53f91d9..662ef712eab8420298d2ab3a36cd929bfbdb6e38 100644 GIT binary patch delta 4783 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 a_fWs39;P0#jR?HzyQ+~A0SH_Y-G2aqdbl0{ delta 2006 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 diff --git a/erts/preloaded/src/erl_tracer.erl b/erts/preloaded/src/erl_tracer.erl index 20416d02c2..447ee939e9 100644 --- a/erts/preloaded/src/erl_tracer.erl +++ b/erts/preloaded/src/erl_tracer.erl @@ -34,6 +34,139 @@ monotonic | strict_monotonic }. -type tracer_state() :: term(). +-callback enabled(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag() | trace_status, + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. +-callback enabled_call(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag_call(), + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. +-callback enabled_garbage_collection(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag_gc(), + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. +-callback enabled_ports(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag_ports(), + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. +-callback enabled_procs(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag_procs(), + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. +-callback enabled_receive(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag_receive(), + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. +-callback enabled_running_ports(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag_running_ports(), + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. +-callback enabled_running_procs(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag_running_procs(), + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. +-callback enabled_send(TraceTag, TracerState, Tracee) -> Result when + TraceTag :: trace_tag_send(), + TracerState :: term(), + Tracee :: tracee(), + Result :: trace | discard | remove. + +-callback trace(seq_trace, TracerState, Label, SeqTraceInfo, Opts) -> Result when + TracerState :: term(), + Label :: term(), + SeqTraceInfo :: term(), + Opts :: trace_opts(), + Result :: ok; + (TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. +-callback trace_call(TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag_call(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. +-callback trace_garbage_collection(TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag_gc(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. +-callback trace_ports(TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. +-callback trace_procs(TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. +-callback trace_receive(TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag_receive(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. +-callback trace_running_ports(TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag_running_ports(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. +-callback trace_running_procs(TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag_running_procs(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. +-callback trace_send(TraceTag, TracerState, Tracee, TraceTerm, Opts) -> Result when + TraceTag :: trace_tag_send(), + TracerState :: term(), + Tracee :: tracee(), + TraceTerm :: term(), + Opts :: trace_opts(), + Result :: ok. + +-optional_callbacks( + [enabled_call/3, + enabled_garbage_collection/3, + enabled_ports/3, + enabled_procs/3, + enabled_receive/3, + enabled_running_ports/3, + enabled_send/3, + trace_call/5, + trace_garbage_collection/5, + trace_ports/5, + trace_procs/5, + trace_receive/5, + trace_running_ports/5, + trace_send/5 + ]). + on_load() -> case erlang:load_nif(atom_to_list(?MODULE), 0) of ok -> ok -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor