| { |
| program: { |
| binary: "bin/archivist", |
| args: [ |
| "--consume-own-logs", |
| "--connect-to-detect", |
| "--connect-to-log-stats", |
| "--connect-to-sampler", |
| "--listen-to-lifecycle", |
| "--config-path", |
| "/config/data/archivist_config.json", |
| ], |
| lifecycle: { stop_event: "notify" }, |
| }, |
| capabilities: [ |
| { |
| protocol: [ |
| "fuchsia.diagnostics.ArchiveAccessor", |
| "fuchsia.diagnostics.FeedbackArchiveAccessor", |
| "fuchsia.diagnostics.LegacyMetricsArchiveAccessor", |
| "fuchsia.logger.Log", |
| "fuchsia.logger.LogSink", |
| ], |
| }, |
| { |
| directory: "diagnostics", |
| rights: [ "connect" ], |
| path: "/diagnostics", |
| }, |
| ], |
| use: [ |
| { runner: "elf" }, |
| { |
| storage: "data", |
| path: "/data", |
| }, |
| { |
| protocol: [ |
| "fuchsia.boot.ReadOnlyLog", |
| "fuchsia.diagnostics.internal.DetectController", |
| "fuchsia.diagnostics.internal.LogStatsController", |
| "fuchsia.diagnostics.internal.SamplerController", |
| "fuchsia.sys.internal.ComponentEventProvider", |
| "fuchsia.sys.internal.LogConnector", |
| "fuchsia.sys2.EventSource", |
| ], |
| }, |
| { |
| event: [ |
| "running", |
| "started", |
| "stopped", |
| ], |
| from: "parent", |
| }, |
| { |
| event: "capability_ready", |
| from: "parent", |
| as: "diagnostics_ready", |
| filter: { name: "diagnostics" }, |
| }, |
| { |
| event: "capability_requested", |
| from: "framework", |
| filter: { name: "fuchsia.logger.LogSink" }, |
| }, |
| { |
| event_stream: [ "capability_requested" ], |
| path: "/svc/fuchsia.sys2.EventStream", |
| }, |
| { |
| directory: "config-data", |
| rights: [ "r*" ], |
| path: "/config/data", |
| }, |
| ], |
| expose: [ |
| { |
| protocol: [ |
| "fuchsia.diagnostics.ArchiveAccessor", |
| "fuchsia.diagnostics.FeedbackArchiveAccessor", |
| "fuchsia.diagnostics.LegacyMetricsArchiveAccessor", |
| "fuchsia.logger.Log", |
| "fuchsia.logger.LogSink", |
| ], |
| from: "self", |
| }, |
| { |
| directory: "diagnostics", |
| from: "self", |
| to: "framework", |
| }, |
| ], |
| } |