Files
BitLogger/docs/api/async-runtime-state-to-json.md
T
2026-05-12 13:47:04 +08:00

2.0 KiB

name, group, category, update-time, description, key-word
name group category update-time description key-word
async-runtime-state-to-json api async 20260512 Convert AsyncRuntimeState into a JSON value for runtime capability and mode diagnostics.
async
state
json
public

Async-runtime-state-to-json

Convert AsyncRuntimeState into a JsonValue. This helper exports the async runtime mode and background worker capability in a structured form.

Interface

pub fn async_runtime_state_to_json(state : AsyncRuntimeState) -> @json_parser.JsonValue {}

input

  • state : AsyncRuntimeState - Runtime capability snapshot, usually produced by async_runtime_state().

output

  • JsonValue - Structured JSON representation of the runtime state.

Explanation

Detailed rules explaining key parameters and behaviors

  • The output includes mode and background_worker.
  • mode is serialized through async_runtime_mode_label(...).
  • This helper focuses on runtime capabilities rather than queue counters or logger lifecycle flags.
  • The exported JSON is suitable for diagnostics endpoints and startup environment checks.

How to Use

Here are some specific examples provided.

When Need Structured Runtime Capability Checks

When startup diagnostics should include async runtime capability data:

let runtime_json = async_runtime_state_to_json(async_runtime_state())

In this example, the runtime snapshot becomes a reusable JSON value.

When Need To Embed Runtime State In A Larger Payload

When async support should be one field in a bigger diagnostics object:

let payload = async_runtime_state_to_json(state)

In this example, callers can reuse the exported object directly.

Error Case

e.g.:

  • If callers expect logger queue counters or failure status, this API is too narrow and async_logger_state_to_json(...) should be used instead.

  • If the runtime is in compatibility mode, the helper still serializes normally using the matching mode label.