crabnebula-dev / devtools

Inspect and Debug your Tauri applications in style πŸ’ƒ
https://devtools.crabnebula.dev
Other
287 stars 8 forks source link

Feat/calls virtualization #240

Closed johann-crabnebula closed 7 months ago

johann-crabnebula commented 8 months ago

Calls virtualization

[!Note] Build is currently failing on some rust license which is not important for this PR

This PR aims to reduce the load on the rendering and processing of the calls tab. It also includes some quality of life change to the calls tab.

Why is this important ?

The calls tab shows a waterfall view that has to be updated every time a call is still running or a new call is coming in. This would mean updating the rendering of potentially hundreds or thousands of waterfalls, depending on how many calls are displayed. Thus the PR aims to reduce the amount of rendering to the actually visible calls.

Is is also important that the processing of incoming span events goes as smoothly as possible and is able to handle big chunks of updates without causing too big of a burden on the reactive system.

Big changes

QoL changes

Fixed DT-113, DT-46

[!Note] There is a problem with the instrumentation dropping some span events. This problem can be duct taped by the follwing change to the crates/devtools-core/src/aggregator.rs

  /// Buffered log events.
  /// Up to 512 events are retained before the oldest will be dropped.
   logs: EventBuf<LogEvent, 512>,
   /// Buffered span events.
   /// Up to 2048 events are retained before the oldest will be dropped.
   spans: EventBuf<SpanEvent, 4096>,
netlify[bot] commented 8 months ago

Deploy Preview for cn-devtools-app canceled.

Name Link
Latest commit ce834d449597de0f74ff1d9cc24d5da8b30ddd97
Latest deploy log https://app.netlify.com/sites/cn-devtools-app/deploys/661fd1c29c7c79000899dacd