emqx_trace.hrl 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. %%--------------------------------------------------------------------
  2. %% Copyright (c) 2022-2024 EMQ Technologies Co., Ltd. All Rights Reserved.
  3. %%
  4. %% Licensed under the Apache License, Version 2.0 (the "License");
  5. %% you may not use this file except in compliance with the License.
  6. %% You may obtain a copy of the License at
  7. %%
  8. %% http://www.apache.org/licenses/LICENSE-2.0
  9. %%
  10. %% Unless required by applicable law or agreed to in writing, software
  11. %% distributed under the License is distributed on an "AS IS" BASIS,
  12. %% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. %% See the License for the specific language governing permissions and
  14. %% limitations under the License.
  15. %%--------------------------------------------------------------------
  16. -ifndef(EMQX_TRACE_HRL).
  17. -define(EMQX_TRACE_HRL, true).
  18. -define(TRACE, emqx_trace).
  19. -record(?TRACE, {
  20. name :: binary() | undefined | '_',
  21. type :: clientid | topic | ip_address | ruleid | undefined | '_',
  22. filter ::
  23. emqx_types:topic()
  24. | emqx_types:clientid()
  25. | emqx_trace:ip_address()
  26. | emqx_trace:ruleid()
  27. | undefined
  28. | '_',
  29. enable = true :: boolean() | '_',
  30. payload_encode = text :: hex | text | hidden | '_',
  31. extra = #{formatter => text} :: #{formatter => text | json} | '_',
  32. start_at :: integer() | undefined | '_',
  33. end_at :: integer() | undefined | '_'
  34. }).
  35. -define(SHARD, ?COMMON_SHARD).
  36. -define(MAX_SIZE, 30).
  37. -define(EMQX_TRACE_STOP_ACTION(REASON),
  38. {unrecoverable_error, {action_stopped_after_template_rendering, REASON}}
  39. ).
  40. -define(EMQX_TRACE_STOP_ACTION_MATCH, ?EMQX_TRACE_STOP_ACTION(_)).
  41. -endif.