Skip to content

Stability of built in diagnostics channels #45400

Description

@Flarna

In #45290 diagnostics channel was moved from experimental to stable.

While that is fine for the diagnostics channel API itself it included the Built-in Channels.

My understanding of the docs is that these built in channels and the data they expose follow our stability guarantee. Therefore channel removal/rename, remove of some published data,.. is not easy anymore.

Considering the current work currently done by @Qard in e.g. #45277 to improve this area marking them as stable was potential a bit early.

Should we adapt this part of the docs or are we ok with the stability guarantee? current channels expose only public data types therefore this should be fine. But one might argue that the data is mutable and therefore a consumer can change application behavior.

fyi @nodejs/diagnostics

Activity

  1. Qard commented on Nov 10, 2022

    @Qard
    Member

    The API is marked stable. The specific channels are not part of that. There is no promise on which events will exist between versions.

    I would perhaps add a docs warning to the built-in channels section stating that channels are not subject to stability guarantees. The API is designed such that you can listen for events that might not exist. They should be treated as not certain to be received.

  2. Flarna commented on Nov 10, 2022

    @Flarna
    MemberAuthor

    I think the right wording as of now would be experimental once again. I assume we will be able to move selected channels into stable state at some time otherwise we end up in an async hooks like issue again.

    @Qard Could you take care of this? Your English language skills are by far better then mine :o)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions