Closed petervdonovan closed 4 months ago
The changes add tracing points in various files to enhance monitoring of reactions within the system. Specifically, tracepoint_reaction_starts
and tracepoint_reaction_ends
are inserted before and after critical operations to log the starts and ends of reactions, incorporating the reaction's deadline for improved logging precision.
File | Change Summary |
---|---|
core/reactor.c |
Added tracing points before and after invoking the deadline violation handler for reactions. |
core/reactor_common.c |
Added tracing points before and after a code block within schedule_output_reactions function. |
core/threaded/reactor_threaded.c |
Added tracing points before and after handling deadline violations in _lf_worker_handle_deadline_violation_for_reaction . |
include/core/tracepoint.h |
Updated tracepoint_reaction_starts and tracepoint_reaction_ends macros to include reaction->deadline parameter. |
sequenceDiagram
participant Environment
participant Reaction
participant Monitor
Environment->>+Reaction: Invoke deadline violation handler
Reaction->>+Monitor: tracepoint_reaction_starts(reaction, deadline)
Reaction-->>-Monitor: tracepoint_reaction_ends(reaction, deadline)
Reaction-->>-Environment: Return from handler
sequenceDiagram
participant ScheduleFunc as schedule_output_reactions
participant Monitor
ScheduleFunc->>+Monitor: tracepoint_reaction_starts(downstream_to_execute_now, deadline)
ScheduleFunc-->>-Monitor: tracepoint_reaction_ends(downstream_to_execute_now, deadline)
[!TIP]
Early access features: enabled
We are currently testing the following features in early access: - **OpenAI `gpt-4o` model for code reviews and chat**: OpenAI claims that this model is better at understanding and generating code than the previous models. We seek your feedback over the next few weeks before making it generally available. Note: - You can enable or disable early access features from the CodeRabbit UI or by updating the CodeRabbit configuration file. - Please join our [Discord Community](https://discord.com/invite/GsXnASn26c) to provide feedback and report issues. - OSS projects are currently opted into early access features by default.
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Changes look good, but why does this remove the
lf_check_deadline
API function? This doesn't seem backwards compatible, or is it?
Ah, I forgot that this was a user-facing API and mistook it for dead code. I'll fix that.
Looks good! Should we get this merged?
OK. I don't think it strictly needs to be merged, but I think that merging it probably will not break things for anyone (unless they are depending on very specific properties of the tracing output) and will make observability a little simpler to maintain. Let's merge this if we can easily do so.
If/when we merge this, I would recommend doing a squash to keep the version history clean. This branch was a little messy.
This allows deadline violations to be traced using a format that is similar to regular reaction executions. I am not sure if we want to mainline it, but we could do so backwards-compatibly.
This branch is based on
initialize-master-thread-id-windows
, which would need to be merged first.Summary by CodeRabbit
New Features
Improvements