class CobaltApp

Defined at line 42 of file ../../src/cobalt/bin/app/cobalt_app.h

Main app, which manages all of Cobalt's functionality.

To test run:

fx set --with-base //bundles/tools,//src/cobalt/bin:cobalt_tests;

fx test cobalt_testapp_no_network

Public Methods

lib::statusor::StatusOr<std::unique_ptr<CobaltApp>> CreateCobaltApp (std::unique_ptr<sys::ComponentContext> context, async_dispatcher_t * dispatcher, fidl::InterfaceRequest<fuchsia::process::lifecycle::Lifecycle> lifecycle_handle, fit::callback<void ()> shutdown, inspect::Node inspect_node, UploadScheduleConfig upload_schedule_cfg, size_t event_aggregator_backfill_days, bool start_event_aggregator_worker, bool test_dont_backfill_empty_reports, bool use_memory_observation_store, size_t max_bytes_per_observation_store, StorageQuotas storage_quotas, const std::string & product_name, const std::string & board_name, const std::string & version)

|dispatcher| The async_t to be used for all asynchronous operations.

|lifecycle_handle| A zx::channel to this process's Lifecycle endpoint. May be invalid.

|shutdown| Callback to shut down the async::Loop. Called by ProcessLifecycleImpl.

|upload_schedule_cfg| Defines when the shipping_manager should upload

observations.

|event_aggregator_backfill_days| The number of past days, in addition to the previous day,

for which local aggregation generates observations. If a

device is unable to generate observations for more than this

number of days, we may lose older aggregated data.

|start_event_aggregator_worker| If true, starts the EventAggregatorManager's worker thread

after constructing the EventAggregatorManager.

|test_dont_backfill_empty_reports| If true, reports that have never had any events will be

skipped in the observation generation backfill. Only enable

this in tests.

|use_memory_observation_store| If this is true, the observation stores will be in-memory

only, otherwise they will be file-system backed.

|max_bytes_per_observation_store| The maximum number of bytes to store for each of the

observation_stores.

|storage_quotas| The storage quotas used by Cobalt's local aggregation.

|product_name| A product name included in the SystemProfile that is implicitly part of every

Cobalt metric.

Example: products/core.gni

|board_name| A board name that may be included in the SystemProfile that is implicitly part

of every Cobalt metric.

Examples: astro, vim2, qemu

|version| The version of the running system included in the SystemProfile that is implicitly

part of every Cobalt metric.

Example: 20190220_01_RC00

Defined at line 153 of file ../../src/cobalt/bin/app/cobalt_app.cc

Friends

class CreateCobaltConfigTest
class CobaltAppTest