class AnnotationManager

Defined at line 23 of file ../../src/developer/forensics/feedback/annotations/annotation_manager.h

Responsible for the storage and collection of annotations.

Note: inserted annotations must be unique and a check-fail will occur if keys intersect.

Public Methods

void AnnotationManager (async_dispatcher_t * dispatcher, std::set<std::string> allowlist, Annotations static_annotations, NonPlatformAnnotationProvider * non_platform_provider, std::vector<DynamicSyncAnnotationProvider *> dynamic_sync_providers, std::vector<StaticAsyncAnnotationProvider *> static_async_providers, std::vector<CachedAsyncAnnotationProvider *> cached_async_providers, std::vector<DynamicAsyncAnnotationProvider *> dynamic_async_providers, const std::set<std::string> & product_exclude_list)

Allowlist dictates which messages can be extracted from the manager's interface.

Annotations not in the allowlist or not explicitly exempted won't be returned.

Defined at line 72 of file ../../src/developer/forensics/feedback/annotations/annotation_manager.cc

::fpromise::promise<Annotations> GetAll (zx::duration timeout)

Returns all annotations collected by the manager in a promise that is guaranteed to complete

before |timeout| expires.

Defined at line 184 of file ../../src/developer/forensics/feedback/annotations/annotation_manager.cc

Annotations ImmediatelyAvailable ()

Returns the annotations that are immediately available.

This is useful when annotations can't be waited, e.g. component startup /

shutdown, and the annotation aggregate data that are ready to be used because it never changes,

is available in a short amount of time, or is cached.

Defined at line 214 of file ../../src/developer/forensics/feedback/annotations/annotation_manager.cc

bool IsMissingNonPlatformAnnotations ()

Returns true if the non-platform annotation provider is missing annotations.

Defined at line 230 of file ../../src/developer/forensics/feedback/annotations/annotation_manager.cc