* Print an asan heap profile on OOM
* Use 32KiB stacks for boost coro
* Print 100%, 10 max contexts for asan OOM
* Lower machineCount to 30 in DataLossRecovery test
* Add asanMachineCount override to control ASAN memory usage
* Implemented AuditUtils.actor.cpp
Moved AuditUtils to fdbserver/
* Persist AuditStorageState.
* Passed persisted AuditStorageState test.
* Added audit_storage_error to indicate a corruption is caught.
Throw/Send audit_storage_error when there is a data corruption.
Added doAuditStorage() for resuming Audit.
* Load and resume AuditStorage when DD restarts.
* Generate audit id monotonically.
* Fixed minor issue AuditId/Type was not set.
* Adding getLatestAuditStates.
* Improved persisted errors and added AuditStorageCommand.actor.cpp for
fdbcli.
* Added `audit_storage` fdbcli command.
* fmt.
* Fixed null shared_ptr issue.
* Improve audit data.
* Change DDAuditFailed to SevWarn.
* Sev.
* set SERVE_AUDIT_STORAGE_PARALLELISM to 1.
* Moved AuditUtils* to fdbclient/.
* Added getAuditStatus fdbcli command.
* Refactor audit storage fdb cli commands.
* Added auditStorage in sim.
* Cleanup.
* Resolved comments.
* Resolved comments.
* Test disabling audit for sims.
* Cleanup.
Co-authored-by: He Liu <heliu@apple.com>
* Add cleanIdempotencyIds
Delete zero or more idempotency ids older than minAgeSeconds
* Automatically clean idempotency ids from first proxy
* Add test for cleaner
* Fix formatting
* Address review comments
* main: (68 commits)
Fix clang 15 warning in mako
Fix more clang 15 warnings
Fix clang 15 compiler warnings
metrics: Break down OTELSum into smaller chunks to avoid UDP max packet size
metrics: Make NumberDataPoint contain a variant<int, double> of the value
ddsketch: Fix undefined behaviour in DDSketch::getValue
metrics: Make DDSketch buckets uint32_t but double precision
metrics: Add OTEL metric definitions
metrics: Add simulation testing and fix incorrect TraceEvent names - Added a background actor that listens on METRICS_EMISSION_UDP_PORT for incoming metrics (and verifies they are in the correct format) - TraceEvent details have certain requirements for naming. This commit makes a seperate name for Counter/LatencySample and its underlying IMetric to avoid those issues
metrics: Add verifyStatsdMessage() for testing
metrics: Avoid name conflicts in MetricCollection - In Counter constructor, make sure that we combine CounterCollection name - In IMetric constructor, add a trace event and assertion in case of collision - Rename ClusterRecoveryData CounterCollection name from master to ClusterRecoveryData
metrics: Fix bug in LatencySample::flush() - Make sure that we check batch.statsd_message to be non-empty before adding a newline - Make sure to actually add the message to the batch in flush()
metrics: Added runMetrics() to workerServer
metrics: Add IMetricClient and StatsdMetric to send batches over UDP
metrics: Add MetricsLogger loop and more knobs
metrics: Make sure LatencyBand counters are unique
metrics: Add knobs and make Counter, LatencySample implement flush() method
metrics: Add flush() definitions to Counter and LatencySample
metrics: Make LatencySample and Counter inherit from IMetric
metrics: Initial code - Define new IMetric interface - Rename MetricUpdateBatch to MetricBatch - Move previous fields of MetricUpdateBatch into a new struct called FDBScope - Define global MetricCollection class and enMetric enumerate
...