:telemetry events emitted by BeamExport.
Events are emitted by BeamExport.to_file/3 (destination: :file, including
BeamExport.Plug.send_staged_export/4) and BeamExport.to_iodata/2
(destination: :iodata). BeamExport.to_stream/2 and
BeamExport.Plug.send_chunked_export/4 emit no events.
Handlers run synchronously in the process performing the export.
[:beam_export, :export, :start]- an export begins (after option validation).- Measurements:
%{system_time: integer()} Metadata:
%{destination: :file | :iodata, format: :csv}
- Measurements:
[:beam_export, :export, :chunk]- a chunk was written (:fileonly).- Measurements:
%{rows: integer(), bytes: integer()}-bytesare uncompressed - Metadata:
%{destination: :file}
- Measurements:
[:beam_export, :export, :stop]- the export completed successfully.- Measurements:
%{duration: integer(), rows: integer(), bytes: integer()}.durationis in:nativetime units (convert withSystem.convert_time_unit/3),rowsincludes the header row, andbytesis the size on disk (compressed size for gzip files). Metadata:
%{destination: :file | :iodata, format: :csv}
- Measurements:
[:beam_export, :export, :exception]- the export failed.- Measurements:
%{duration: integer()}(:nativetime units) - Metadata:
%{destination: atom(), kind: :error, reason: Exception.t(), stacktrace: list(), format: :csv}
- Measurements:
Exception metadata never contains record contents: BeamExport.MappingErrors are
always redacted (even with include_record_in_errors: true), and stacktrace
entries carry arities instead of arguments. Exceptions raised by your own source or
database driver are passed through unchanged.