Skip to content

Latest commit

 

History

History
106 lines (60 loc) · 5.75 KB

File metadata and controls

106 lines (60 loc) · 5.75 KB
graph LR
    Event_Orchestrator["Event Orchestrator"]
    Stack_Info_Extractor["Stack Info Extractor"]
    Module_Version_Collector["Module Version Collector"]
    Context_Provider["Context Provider"]
    Data_Transformer["Data Transformer"]
    Frame_Iterator_Helper["Frame Iterator Helper"]
    Frame_Local_Variable_Retriever["Frame Local Variable Retriever"]
    Frame_Attribute_Accessor["Frame Attribute Accessor"]
    Event_Orchestrator -- "calls" --> Stack_Info_Extractor
    Event_Orchestrator -- "calls" --> Module_Version_Collector
    Event_Orchestrator -- "accesses" --> Context_Provider
    Event_Orchestrator -- "invokes" --> Data_Transformer
    Event_Orchestrator -- "utilizes" --> Frame_Iterator_Helper
    Stack_Info_Extractor -- "calls" --> Frame_Local_Variable_Retriever
    Stack_Info_Extractor -- "calls" --> Frame_Attribute_Accessor
    Module_Version_Collector -- "provides data to" --> Event_Orchestrator
    Context_Provider -- "provides contextual data to" --> Event_Orchestrator
    Data_Transformer -- "receives data from" --> Event_Orchestrator
    Frame_Iterator_Helper -- "is used by" --> Event_Orchestrator
    Frame_Local_Variable_Retriever -- "is called by" --> Stack_Info_Extractor
    Frame_Attribute_Accessor -- "is called by" --> Stack_Info_Extractor
Loading

CodeBoardingDemoContact

Details

The Event Orchestrator serves as the core component, initiating the event payload construction. It leverages the Context Provider to gather contextual data and the Module Version Collector for environment details. For stack trace information, the Event Orchestrator calls the Stack Info Extractor, which in turn relies on the Frame Local Variable Retriever and Frame Attribute Accessor to detail individual stack frames. Additionally, the Event Orchestrator utilizes the Frame Iterator Helper to process stack frames for application-specific path filtering. Finally, all collected data is passed to the Data Transformer for initial pre-processing before the event is finalized.

Event Orchestrator

The central component (raven.base.build_msg) that orchestrates the entire process of constructing the raw event payload. It coordinates calls to other components to gather all necessary data points, such as stack traces, module versions, and contextual information.

Related Classes/Methods:

Stack Info Extractor

Responsible for extracting comprehensive details from stack frames, including local variables and code lines, which are essential for debugging and error analysis. (raven.utils.stacks.get_stack_info)

Related Classes/Methods:

Module Version Collector

Gathers version information for all installed Python modules, providing crucial context about the application's environment at the time of the event. (raven.base.get_module_versions)

Related Classes/Methods:

Context Provider

Manages and provides access to various contextual data (e.g., user information, HTTP request details, extra data, tags) that enrich the event payload. (raven.base.context)

Related Classes/Methods:

Data Transformer

Performs initial, pre-processing transformations on the event data, shaping it into the required raw event structure before any deeper processing or sanitization occurs. (raven.events.transform)

Related Classes/Methods:

Frame Iterator Helper

Provides a mechanism for iterating through stack frames, primarily used by the Event Orchestrator to determine if frames are "in-app" based on configured paths. (raven.base._iter_frames)

Related Classes/Methods:

Frame Local Variable Retriever

Specializes in retrieving local variables from a given stack frame, used by the Stack Info Extractor. (raven.utils.stacks.get_frame_locals)

Related Classes/Methods:

Frame Attribute Accessor

Safely accesses attributes of stack frames, preventing potential errors during stack trace collection. (raven.utils.stacks._getitem_from_frame)

Related Classes/Methods: