BeaconCMS/beacon

Extension: Emit telemetry events

オープン

#143 opened on 2023/02/23

 (1 件のコメント) (0 件のリアクション) (0 人の担当者)Elixir (120 件のフォーク)batch import
enhancementgood first issue

Repository metrics

Stars
 (1,194 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

Expose Telemetry events for important lifecycle actions by calling https://hexdocs.pm/telemetry/telemetry.html#span/3

[:beacon, :core, :load_resource, :start | :stop]

Emit start/stop events for each resource loaded by Beacon.Loader, adding the loaded resource in the event metadata. For eg loading a page would emit the following events:

[:beacon, :core, :load_resource, :start]
metadata: %{page: %Page{...}}

[:beacon, :core, :load_resource, :stop]
metadata: %{page: %Page{...}}

And it would be called here https://github.com/BeaconCMS/beacon/blob/cbe3bf7445cc559c96310593105e710366ed2cea/lib/beacon/loader.ex#L236

Here is the list of resources that must emit telemetry events https://github.com/BeaconCMS/beacon/blob/cbe3bf7445cc559c96310593105e710366ed2cea/lib/beacon/loader.ex#L127

[:beacon, :core, :render_page, :start | :stop]

The entire block of PageLive.render/1 must be tracked and emit a telemetry event so we can measure rendering times.

コントリビューターガイド