Skip to content

Latest commit

 

History

History
310 lines (244 loc) · 30 KB

usage-report.md

File metadata and controls

310 lines (244 loc) · 30 KB

Usage report contents

The primary instance builds the usage report when a user downloads it from ServicePulse (GET api/licensing/report/file). The customer sends the signed file to Particular. This page lists every key in the report's EnvironmentData, with its values and its source. The page also lists every setting that is deliberately left out, with the reason. The reasoning behind these rules is in the coverage decision. How usage data itself is collected is covered in throughput-collection.md.

Rules for a value

The report names the licensee in CustomerName. Its queue list carries queue names and, on the SQL Server and PostgreSQL transports, a Scope of [Database].[Schema]. These are masked only when the customer configures report masks. Otherwise they are in clear text. EnvironmentData must add nothing that identifies the customer's infrastructure, people or data. That rules out host names, URLs, connection strings, paths, queue and endpoint names, addresses, user names, client ids and secrets. It also rules out a hash or prefix of any of them.

EnvironmentData also says nothing about security configuration: how the customer authenticates callers or connections, encrypts traffic, validates certificates or tokens, or restricts access.

A value is always one of these:

  • Enabled or Disabled for a switch.
  • A fixed enum member for a mode.
  • A count or a number.
  • A version.

Tuning numbers report Default when the setting is absent from configuration. Otherwise they report the configured number in invariant culture, in the unit the key name ends with. Installers write some settings explicitly, for example ShutdownTimeout. Those report the installer's value, not Default.

A value derived from an identifying setting goes through a fixed classifier or becomes a count. DatabaseHostClassifier is the model for a classifier.

Three values have a fixed meaning on every key:

  • NotApplicable means the feature the key describes is off or absent.
  • Unknown means the instance cannot tell.
  • ReadFailed means reading the value threw. The report is still generated.

Audit keys combine every audit instance that answers. Audit instances states how each key is combined. Where it states nothing, numbers report the largest value and an enum reports Mixed when the instances differ.

A key name is permanent. Analysis compares reports across versions, and a rename forces it to read both spellings.

Adding or changing a setting

A pull request that adds a setting, a runtime choice, or a new mode of an existing setting does one of two things:

  1. It adds a key. That means an IEnvironmentDataProvider in the component that owns the setting, a row in the tables below, and an entry in ExpectedKeys in When_reporting_the_environment when the key is emitted on every storage. A transport adds its key to GetEnvironmentData on its transport customization instead of an IEnvironmentDataProvider. An audit instance key needs a provider in the audit instance, which implements the audit's own IEnvironmentDataProvider, and an entry in the allowlist in AuditEnvironmentDataAggregator. The primary drops every audit key that is not on that list.
  2. It adds a row to Not reported with one of the four reasons.

A pull request that does neither gets a review finding.

Reported keys

Status is the first release that emits the key, Unreleased for a key on master that has not shipped, or Planned for a key this page commits to. Planned names and value sets are final at implementation review.

Versions and instance counts

Key Values Source Status
ServiceControlVersion version the running primary 5.4.0
ServicePulseVersion version the spVersion query parameter ServicePulse sends 5.4.0
AuditEnabled True, False any audit throughput in the report window 5.4.0
MonitoringEnabled True, False any monitoring throughput in the report window 5.4.0
RabbitMQVersion version the broker throughput query on RabbitMQ 5.4.0
SqlVersion major version, or AzureSql on Azure SQL Database the broker throughput query on SQL Server and PostgreSQL 5.4.0
Audit.ConfiguredInstances count entries in ServiceControl/RemoteInstances Unreleased
Audit.LiveInstances count remotes that answer as an audit instance Unreleased

MonitoringEnabled does not mean a monitoring instance is installed. It means a monitoring instance delivered non-zero throughput to this primary on at least one day of the report window, which covers the last 14 months and excludes today. It is False when monitoring is installed but no endpoint sends metrics, or when the throughput queue names do not match. It stays True for up to 14 months after monitoring is removed.

Releases up to 6.21.2 report SqlVersion as the full text of @@VERSION on SQL Server or version() on PostgreSQL. That text includes the patch level, edition and operating system build. Later releases report only the major version. Azure SQL Database always reports version 12, which cannot be compared with SQL Server's version numbers. On Azure SQL Database, SqlVersion is AzureSql instead.

Host

Key Values Source Status
Host.Model Container, WindowsService, Console the process 6.20.0
Host.Orchestrator Kubernetes, None KUBERNETES_SERVICE_HOST 6.20.0
Host.OSPlatform Windows, Linux, macOS, Unknown the runtime 6.20.0
Host.OSVersion major.minor the runtime 6.20.0
Host.Architecture the process architecture the runtime 6.20.0
Host.RuntimeVersion version the runtime 6.20.0
Host.ProcessorCount count the runtime 6.20.0
Host.AvailableMemoryGB number the GC memory limit, which honours a container limit 6.20.0
Host.VirtualDirectory None, Configured ServiceControl/VirtualDirectory Unreleased
Host.ShutdownTimeoutSeconds Default or number ServiceControl/ShutdownTimeout Unreleased

Storage

6.20.0 to 6.21.2 emit these keys as Persistence.*. The rename to Storage.* is unreleased.

Key Values Source Status
Storage.Type RavenDB, SQLServer, PostgreSQL the persister 6.20.0
Storage.RavenServer Embedded, External RavenDB only 6.20.0
Storage.Hosting a fixed hosting class from DatabaseHostClassifier the database host, and the engine's own answer where it gives one 6.20.0
Storage.HostingSource how Storage.Hosting was decided the persister 6.20.0
Storage.ServerVersion major version on SQL Server and PostgreSQL, major.minor on RavenDB. Always 12 on Azure SQL Database, so read it with Storage.Hosting the engine 6.20.0
Storage.FullTextSearch Enabled, Disabled EnableFullTextSearchOnBodies, RavenDB only. Always Enabled on SQL Server and PostgreSQL, which do not read the setting 6.20.0
Storage.BodyStorage.Type RavenAttachments, FileSystem, AzureBlob, S3 the persister 6.20.0
Limits.MaxBodySizeToStore bytes MaxBodySizeToStore, SQL Server and PostgreSQL only 6.20.0
Storage.Schema Default, Custom Database/Schema, SQL Server and PostgreSQL only Unreleased
Storage.LogLevel None, Information, Operations RavenDBLogLevel, RavenDB only Unreleased
Storage.CommandTimeoutSeconds Default or number Database/CommandTimeout, SQL Server and PostgreSQL only Unreleased
Storage.QueryTimeoutSeconds Default or number QueryTimeoutInSeconds Unreleased
Storage.SubscriptionCacheSeconds Default or number SubscriptionCacheDuration, SQL Server and PostgreSQL only Unreleased
Storage.BodyStorage.MinCompressionBytes Default or number MessageBody/MinCompressionSize, SQL Server and PostgreSQL only Unreleased
Storage.FreeSpaceThresholdPercent Default or number. NotApplicable on SQL Server and PostgreSQL when body storage is not the file system DataSpaceRemainingThreshold on RavenDB, MessageBody/FileSystem/DataSpaceRemainingThreshold on file system body storage Unreleased
Storage.MinimumFreeSpaceForIngestionPercent Default or number MinimumStorageLeftRequiredForIngestion, RavenDB only Unreleased
Storage.ExpirationIntervalSeconds Default or number ExpirationProcessTimerInSeconds, RavenDB only Unreleased
Storage.ServerEdition Express, Standard, Enterprise, Other, NotApplicable, Unknown the SQL Server engine edition. Developer and Evaluation report Enterprise. NotApplicable on Azure SQL Database, Azure SQL Managed Instance, PostgreSQL and RavenDB Unreleased
Storage.ServiceObjective Basic, Standard, Premium, GeneralPurpose, BusinessCritical, Hyperscale, ElasticPool, Other, NotApplicable, Unknown the tier of the database's service objective, which only Azure SQL Database reports. NotApplicable when the engine reports none Unreleased
Storage.SizeGB GB to one decimal, or Unknown catalog statistics for the tables in the configured schema on SQL Server and PostgreSQL, including the SQL Server full-text index. The database size on disk on RavenDB Unreleased
Storage.MessageCount count, or Unknown the catalog row estimate for the failed messages table on SQL Server and PostgreSQL. The FailedMessages collection count on RavenDB Unreleased
Storage.UnresolvedFailedMessages count failed messages with the status Unresolved Unreleased

Transport

The report's top-level MessageTransport carries the broker family name (RabbitMQ) whenever the transport has a broker throughput query. The RabbitMQ queue type and routing topology are lost there, so Transport.Type carries the full manifest name. MessageTransport stays as it is for analysis that already reads it.

The primary's TransportEnvironmentDataProvider emits Transport.Type and adds the keys the transport returns from ITransportCustomization.GetEnvironmentData. Keys under Transport.<Name>.* are emitted only by that transport.

Key Values Source Status
Transport.Type the manifest name, for example RabbitMQ.QuorumConventionalRouting ServiceControl/TransportType, resolved through the manifest Unreleased
Transport.AzureServiceBus.Topology TopicPerEvent, Migration, Custom TopicName in the connection string, then ServiceControl.Transport.ASBS/Topology Unreleased
Transport.AzureServiceBus.Partitioning Enabled, Disabled EnablePartitioning Unreleased
Transport.AzureServiceBus.WebSockets Enabled, Disabled TransportType=AmqpWebSockets Unreleased
Transport.AzureServiceBus.HierarchyNamespace None, Configured HierarchyNamespace Unreleased
Transport.AmazonSQS.NamePrefixes None, Queue, Topic, QueueAndTopic QueueNamePrefix, TopicNamePrefix Unreleased
Transport.AmazonSQS.LargeMessageBucket None, Configured S3BucketForLargeMessages Unreleased
Transport.AmazonSQS.MessageWrapping Enabled, Disabled DoNotWrapOutgoingMessages Unreleased
Transport.AmazonSQS.ReservedBytesInMessageSize Default or number ReservedBytesInMessageSize Unreleased
Transport.RabbitMQ.DeliveryLimitValidation Enabled, Disabled ValidateDeliveryLimits Unreleased
Transport.RabbitMQ.ManagementApi Default, Configured ManagementApiUrl Unreleased
Transport.SQLServer.QueueSchema Default, Custom Queue Schema in the connection string Unreleased
Transport.SQLServer.SubscriptionsTable Default, Custom Subscriptions Table in the connection string Unreleased
Transport.PostgreSQL.QueueSchema Default, Custom Queue Schema in the connection string Unreleased
Transport.PostgreSQL.SubscriptionsTable Default, Custom Subscriptions Table in the connection string Unreleased

Features

Key Values Source Status
Features.IntegratedServicePulse Enabled, Disabled ServiceControl/EnableIntegratedServicePulse 6.13.0
Features.MessageEditing Enabled, Disabled ServiceControl/AllowMessageEditing 6.20.0
Features.ExternalIntegrationsPublishing Enabled, Disabled ServiceControl/DisableExternalIntegrationsPublishing, inverted 6.20.0
Features.ForwardErrorMessages Enabled, Disabled ServiceControl/ForwardErrorMessages 6.20.0
Features.EmailNotifications Enabled, Disabled, NotConfigured the stored email settings 6.20.0
Features.ErrorIngestion Enabled, Disabled ServiceControl/IngestErrorMessages Unreleased
Features.ConfigurationValidation Enabled, Disabled ServiceControl/ValidateConfig Unreleased
Limits.ExternalIntegrationsBatchSize Default or number ExternalIntegrationsDispatchingBatchSize Unreleased

Integrated ServicePulse

These keys are NotApplicable when Features.IntegratedServicePulse is Disabled. The values come from the environment variables the integrated ServicePulse reads.

Key Values Source Status
ServicePulse.MonitoringUrl Default, Custom, Disabled, NotApplicable MONITORING_URL, or the legacy MONITORING_URLS. ! means disabled Unreleased
ServicePulse.DefaultRoute Default, Custom, NotApplicable DEFAULT_ROUTE Unreleased
ServicePulse.ShowPendingRetry Enabled, Disabled, NotApplicable SHOW_PENDING_RETRY Unreleased

Error ingestion

Key Values Source Status
Ingestion.Error.MaxConcurrency Default or number ServiceControl/MaximumConcurrencyLevel Unreleased
Ingestion.Error.BatchSize Default or number ServiceControl/ErrorIngestionBatchSize Unreleased
Ingestion.Error.MaxParallelWriters Default or number ServiceControl/ErrorIngestionMaxParallelWriters Unreleased
Ingestion.Error.BatchTimeoutMs Default or number ServiceControl/ErrorIngestionBatchTimeout Unreleased
Ingestion.Error.RestartAfterFailureSeconds Default or number ServiceControl/TimeToRestartErrorIngestionAfterFailure Unreleased

Error ingestion health

These keys measure the running process since it started, and they reset when it restarts. Health.Error.UptimeHours shows how much time they cover. The rate and percentage keys are left out while the process has been up for less than an hour. The lag keys are also left out until the process has ingested a message with a valid NServiceBus.TimeOfFailure header. Lag is the time from that header to ingestion.

Key Values Source Status
Health.Error.UptimeHours whole hours the process start time Unreleased
Ingestion.Error.AvgDailyMessages count messages ingested per day since the process started Unreleased
Ingestion.Error.BusyPercent 0 to 100 the share of uptime spent processing batches Unreleased
Ingestion.Error.StorageMsPerMessage number the storage write time per ingested message. Left out until a message is ingested Unreleased
Health.Error.LagOver1MinPercent, Health.Error.LagOver10MinPercent, Health.Error.LagOver60MinPercent 0 to 100 the share of ingested messages whose lag is over 1, 10 or 60 minutes Unreleased
Health.Error.FailedImports count stored messages that error ingestion failed to import Unreleased
Health.Error.RetentionBehindHours whole hours how far the oldest resolved or archived message is past ErrorRetentionPeriod, or 0. SQL Server and PostgreSQL only, because RavenDB expires documents itself Unreleased

Retention

Key Values Source Status
Retention.ErrorHours whole hours ErrorRetentionPeriod 6.20.0
Retention.EventsHours whole hours EventRetentionPeriod 6.20.0

Retention.EventsHours reports ServiceControl/EventRetentionPeriod, the spelling the instance validates and the public documentation uses. Both persisters enforce ServiceControl/EventsRetentionPeriod instead, with a 14 day default. Until the two are reconciled, the reported value can differ from the retention the storage applies.

Heartbeats, recoverability and licensing

Most of these are choices users make in ServicePulse, or the heartbeat state those choices apply to. Heartbeats.GracePeriodSeconds and Recoverability.RetryHistoryDepth are configuration settings. Every value is read when the report is built.

Key Values Source Status
Heartbeats.TrackInstancesDefault Enabled, Disabled the stored default endpoint settings row. Falls back to ServiceControl/TrackInstancesInitialValue when no row is stored Unreleased
Heartbeats.TrackInstancesOverrides count stored endpoint settings rows whose value differs from the default Unreleased
Heartbeats.KnownInstances count IEndpointInstanceMonitoring.GetEndpoints Unreleased
Heartbeats.MonitoredInstances count the same, where Monitored is true Unreleased
Heartbeats.GracePeriodSeconds Default or number ServiceControl/HeartbeatGracePeriod Unreleased
Recoverability.Redirects count IMessageRedirectsDataStore.GetRedirects Unreleased
Recoverability.RetryHistoryDepth Default or number ServiceControl/RetryHistoryDepth Unreleased
Licensing.ReportMasks count ILicensingDataStore.GetReportMasks Unreleased

An instance becomes monitored on its first heartbeat. An instance first seen in an ingested message starts unmonitored. So KnownInstances minus MonitoredInstances counts instances that a user stopped monitoring together with instances that have never sent a heartbeat. Storage cannot separate the two.

Logging and telemetry

Key Values Source Status
Logging.Providers the active providers from NLog, Seq, Otlp, comma separated in that order ServiceControl/LoggingProviders. NLog when unset Unreleased
Logging.Level Trace, Debug, Information, Warning, Error, Critical, None ServiceControl/LogLevel Unreleased
Telemetry.OtlpMetrics Enabled, Disabled whether OTEL_EXPORTER_OTLP_ENDPOINT is set Unreleased

Audit instances

The primary reads audit instance facts from two responses of each audit instance: GET /api/environment and GET /api/configuration.

From the environment endpoint

The audit instance serves its environment data on GET /api/environment. The primary calls it on each audit instance during its daily audit verification and stores the results. It combines the stored results when the report is built, so the values can be up to a day old. An audit instance from an earlier release does not serve the endpoint, and the report leaves out its values. The primary drops every key that is not on the allowlist in AuditEnvironmentDataAggregator.

The endpoint also serves an unsalted SHA-256 hash of the machine name, and hashes of the storage server, database and schema. The primary compares them with its own and reports only the result, as Audit.SameMachine and Audit.DatabaseSharing. The hashes are not in the report.

The ingestion and health keys follow the rules in Error ingestion health. An audit instance that has been up for less than an hour adds no rate or lag values. Audit lag is measured from the NServiceBus.ProcessingEnded header. A sum leaves out instances that report Unknown. Sizes and counts count instances that write to the same store once.

Key Values Source Status
Audit.Host.Model, Audit.Host.Orchestrator, Audit.Host.OSPlatform, Audit.Host.OSVersion, Audit.Host.Architecture, Audit.Host.RuntimeVersion the values of the matching Host.* key, or Mixed the audit instance's process and runtime Unreleased
Audit.Host.ProcessorCount, Audit.Host.AvailableMemoryGB the largest value the audit instance's runtime Unreleased
Audit.Storage.Type RavenDB, SQLServer, PostgreSQL, Mixed the audit persister Unreleased
Audit.Storage.RavenServer, Audit.Storage.Hosting, Audit.Storage.HostingSource, Audit.Storage.ServerVersion, Audit.Storage.ServerEdition, Audit.Storage.ServiceObjective the values of the matching Storage.* key, or Mixed the audit persister Unreleased
Audit.Storage.FullTextSearch Enabled, Disabled, Mixed EnableFullTextSearchOnBodies on RavenDB. Always Enabled on SQL Server and PostgreSQL, which always index bodies Unreleased
Audit.Storage.SizeGB GB to one decimal, summed, or Unknown the same measure as Storage.SizeGB, for the audit store Unreleased
Audit.Storage.MessageCount count, summed, or Unknown the ProcessedMessages collection count on RavenDB. The catalog row estimate for the audit messages table on SQL Server and PostgreSQL, summed over its partitions on PostgreSQL. Unknown on PostgreSQL 11 Unreleased
Audit.Health.FailedImports count, summed stored audit messages that ingestion failed to import Unreleased
Audit.Health.UptimeHours whole hours, the smallest value the audit instance's process start time Unreleased
Audit.Ingestion.AvgDailyMessages count, summed across all instances audit messages ingested per day since the process started Unreleased
Audit.Ingestion.BusyPercent 0 to 100, the largest value the share of uptime spent processing batches Unreleased
Audit.Health.LagOver1MinPercent, Audit.Health.LagOver10MinPercent, Audit.Health.LagOver60MinPercent 0 to 100, the largest value the share of ingested audit messages whose lag is over 1, 10 or 60 minutes Unreleased
Audit.SameMachine True, False, Mixed, NotApplicable, Unknown the machine name hashes. NotApplicable when either instance runs in a container Unreleased
Audit.DatabaseSharing SameSchema, SameDatabase, SameServer, SeparateServer, NotApplicable, Unknown the storage identity hashes. NotApplicable when the storage engines differ. Several instances report the most shared class Unreleased

Audit.Storage.SizeGB covers the whole schema. When the primary and an audit instance share a schema, both report the same size, and Audit.DatabaseSharing is SameSchema.

From the configuration response

These come from the GET /api/configuration response, which the primary already fetches once a day.

Key Values Source Status
Audit.RetentionHours whole hours, largest across instances data_retention.audit_retention_period Planned
Audit.Features.ForwardAuditMessages Enabled, Disabled, Mixed transport.forward_audit_messages Planned
Audit.Limits.MaxBodySizeToStore bytes, largest across instances performance_tunning.max_body_size_to_store Planned
Audit.Logging.Level the Logging.Level values, or Mixed host.logging.logging_level Planned

Not reported

Every setting below is left out for one of four reasons:

  • Identifies: the setting is a name, address, path or secret, or a hash or prefix of one.
  • Not a choice: the setting is a test hook, a dead setting, an action, or a mode in which the instance cannot build a report.
  • Security configuration: the setting describes how the instance authenticates callers or connections, encrypts traffic, validates certificates or tokens, or restricts access.
  • Out of scope: the coverage decision leaves it out.

A setting that identifies and is also security configuration is listed as Identifies.

Setting Reason Notes
ServiceControl/InstanceName, InternalQueueName Identifies
ServiceBus/ErrorQueue, ServiceBus/ErrorLogQueue Identifies
ServiceControl/Hostname, ServiceControl/Port Identifies Together they form the instance's address.
ServiceControl/VirtualDirectory value Identifies Reported as Host.VirtualDirectory.
Transport connection string Identifies Some of its options are reported under Transport as fixed values. Its authentication, encryption and certificate validation options are security configuration.
ServiceControl/RemoteInstances Identifies Counted by Audit.ConfiguredInstances and Audit.LiveInstances.
Database/ConnectionString, RavenDB/ConnectionString, RavenDB/DatabaseName, DbPath Identifies The hosting class and server version are reported under Storage.
RavenDB/ClientCertificatePath, ClientCertificateBase64, ClientCertificatePassword Identifies
Database/Schema value Identifies Reported as Storage.Schema.
MessageBody/* path, container, bucket, key prefix, region, service URL, credentials, managed identity client id, authority host Identifies The type is reported as Storage.BodyStorage.Type.
LogPath, SeqAddress, the OTEL_EXPORTER_OTLP_ENDPOINT value Identifies The providers and OTLP use are reported.
Https.CertificatePath, Https.CertificatePassword Identifies
Authentication.Authority, Audience, ServicePulse.ClientId, ServicePulse.ApiScopes, ServicePulse.Authority, claim names Identifies
Cors.AllowedOrigins, ForwardedHeaders.KnownProxies, ForwardedHeaders.KnownNetworks Identifies
Email server, sender, recipients, account and password Identifies Only whether email notifications are on is reported, as Features.EmailNotifications.
ServiceControl/NotificationsFilter check ids Identifies
Report mask strings, redirect addresses, endpoint names, licensed endpoint details Identifies Masks and redirects are reported as counts.
MONITORING_URL, DEFAULT_ROUTE values, SERVICECONTROL_URL Identifies The integrated ServicePulse keys report Default or Custom.
Authentication.Enabled, RoleBasedAuthorizationEnabled, ValidateIssuer, ValidateAudience, ValidateLifetime, ValidateIssuerSigningKey, RequireHttpsMetadata, ServicePulse.OfflineAccessScopeEnabled, and whether claim names differ from the defaults Security configuration 6.20.0 to 6.21.2 report the first two as Security.Authentication and Security.RoleBasedAuthorization.
Https.Enabled, RedirectHttpToHttps, EnableHsts, HstsMaxAgeSeconds, HstsIncludeSubDomains, Https.Port Security configuration 6.20.0 to 6.21.2 report Https.Enabled as Security.Https.
Cors.AllowAnyOrigin and whether origins are restricted Security configuration
ForwardedHeaders.Enabled, TrustAllProxies and whether proxies are restricted Security configuration
Transport authentication, encryption and certificate validation options in the connection string, for example RabbitMQ UseExternalAuthMechanism and DisableRemoteCertificateValidation Security configuration
Database authentication, encryption and certificate validation options, for example SQL Server Encrypt and TrustServerCertificate or PostgreSQL SSL Mode, and whether a RavenDB client certificate is used Security configuration
Body storage authentication mode Security configuration 6.20.0 to 6.21.2 report it as Persistence.BodyStorage.Auth.
Email notification TLS and SMTP authentication Security configuration
Audit instance security settings Security configuration Neither GET /api/configuration nor GET /api/environment returns them.
The full Azure SQL service objective Security configuration Its hardware series can show the use of Always Encrypted with secure enclaves. Only the tier is reported, as Storage.ServiceObjective.
The machine name hash and storage identity hashes that GET /api/environment serves Identifies Only the comparison with the primary is reported, as Audit.SameMachine and Audit.DatabaseSharing.
ServiceControl/PrintMetrics Not a choice Nothing reads it.
ServiceControl/AuditRetentionPeriod on the primary Not a choice It is displayed and returned by api/configuration, but nothing acts on it.
EmailDropFolder, MessageFilter Not a choice Acceptance tests only.
RunCleanupBundle, DisableHealthChecks Not a choice Set by commands, never by configuration.
--error-ingestion-only Not a choice A worker mode. Workers do not build reports.
RavenDB MaintenanceMode Not a choice An instance in maintenance mode serves no API, so it cannot build a report.
ASPNETCORE_ENVIRONMENT=Development Not a choice A development mode.
DOTNET_RUNNING_IN_CONTAINER Not a choice Already covered by Host.Model.
Retry, archive, unarchive, resolve, edit and group comment operations Not a choice These are actions. Their on/off switch, where one exists, is reported.
Custom checks Not a choice Endpoints report them and ServiceControl stores them. Deleting one does not keep a muted state.
Email notification details: whether a filter is set, port, number of recipients and mail provider Out of scope Only Features.EmailNotifications is reported.
Whether licensed endpoint details are uploaded, and whether they match the license Out of scope They only apply to Endpoint Size licenses with endpoint metadata.
Transport QueueLengthQueryDelayInterval, QueueLengthQueryMaxDelayInterval Out of scope Only the monitoring instance reads them.
Every monitoring instance setting Out of scope
The SQL Server edition name Out of scope Only the family is reported, as Storage.ServerEdition. Developer and Evaluation report Enterprise, so the report does not show which license an instance runs under.
Audit instance settings that neither GET /api/configuration nor GET /api/environment returns Out of scope Includes IngestAuditMessages, logging providers, OTLP, ingestion and RavenDB tuning, ServiceControlQueueAddress, VirtualDirectory and maintenance mode. Audit security settings are listed under Security configuration.