Package-level declarations
Types
Represents an update of a dictionary.
Random-access file handle abstraction. All operations are expected to be blocking
Abstraction over file system access used by the FUS client.
Interface providing lifecycle hooks to FUS components.
Minimal HTTP client abstraction used by the FUS client to talk to backend services. Implementations should be synchronous.
JSON serialization abstraction used by the FUS client. Implementations can delegate to different JSON libraries.
Factory for creating simple logger instances used by the FUS client. Implementations can bridge to platform-specific logging (e.g., java.util.logging).
Dispatches validated reports to the backend. Implementations typically serialize the report to JSON and send it over HTTP.
Simple HTTP response wrapper.
Possible stages at which a metadata load/update error can occur
Lightweight pub/sub message bus for intra-component communication.
A handler for subscribing to a specific message topic on a MessageBus. It listens for messages published to the specified Topic and processes them using the provided handler function on a new coroutine in the provided CoroutineScope.
Provides access to validation rules and anonymization metadata required for processing FUS reports. Implementations may fetch and cache metadata from remote sources and/or bundled resources.
Resolves remote endpoints and client options used by the FUS client. Implementations can consult product configuration, environment, and server responses.
Performs anonymization of sensitive fields in a report according to metadata rules.
Validates a report against metadata rules (group rules, event id rules, fields, etc.).
Properties
Triggered when the JSON file listing validation dictionaries fails to load.
Triggered when the JSON file listing validation dictionaries fails to update.
Triggered when a validation dictionary fails to load.
Triggered when a validation dictionary is loaded.
Triggered when a validation dictionary fails to update.
Triggered when a validation dictionary is updated.
Triggered when metadata fails to load.
Triggered when metadata is loaded. Topic type String represents the version of the loaded metadata.
Triggered when metadata fails to update.
Triggered when metadata is updated. Topic type String represents the version of the updated metadata.
Triggered when an event is validated and queued for sending. Contains the processed event alongside the original (raw) event id and data.
Topic for notifying subscribers about configuration option update failures.
Triggered when remote config options are updated. The updates may contain no changes.
Functions
Provides metadata shipped with your product. Without it, events recorded before the first metadata update are buffered and dropped if the buffer overflows. Can be omitted, for example, if there are strict distributable size restrictions.
Configures the FusClient components. Include defaultBusinessLogic from com.jetbrains.fus.reporting.defaults and the DSL functions displayed below.
Jump to the source of FusClientConfig.Builder for the configuration options.
Specifies a separate file storage for event log data used by the report dispatcher. If not set, the regular fileStorage will be used instead.
Provides file storage for caching metadata, dictionaries, and event logs.
Provides an HTTP client for communicating with FUS backend services.
Provides JSON (de)serialization for events, metadata, and configuration.
Provides logging for all internal FUS operations by bridging to your application's logging framework.
Registers a callback that runs asynchronously when the step identified by topic occurs inside the FusClient. Message handlers can run concurrently, so shared resources must be thread-safe.