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,Annotationsstatic_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