Strip all comments outside src/consts.rs
Removes doc comments, module comments, and inline comments across the backend so the only comments left in the codebase are the brief ones on the constants they document. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01A1ZJ3SrayzLzVndhVq9BmS
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
284e3562a2
commit
b6401c1c3c
-59
@@ -11,7 +11,6 @@ pub struct LogEntryDto {
|
||||
pub sequence: u64,
|
||||
pub timestamp_ms: i64,
|
||||
pub text: String,
|
||||
/// Only params whose regex matched (and parsed as the declared kind) are present — omitted rather than sent as null, so the frontend can render a blank for anything missing.
|
||||
pub params: BTreeMap<String, MetricPrimitive>,
|
||||
}
|
||||
|
||||
@@ -20,20 +19,10 @@ pub struct ParamDeclarationDto {
|
||||
pub name: String,
|
||||
pub message_match_regex: String,
|
||||
pub capture_group: String,
|
||||
/// See `crate::data_value::ParamDeclaration::json_field_path`.
|
||||
pub json_field_path: Option<String>,
|
||||
pub kind: MetricPrimitiveKind,
|
||||
/// See `crate::data_value::ParamDeclaration::elapsed_since_last`.
|
||||
pub elapsed_since_last: bool,
|
||||
/// See `crate::data_value::ParamDeclaration::auto_derived`. The frontend uses this to disable
|
||||
/// editing — `POST /api/params` also rejects a request naming an auto-derived param.
|
||||
pub auto_derived: bool,
|
||||
/// Set only for the built-in `ottyl_seq`/`ottyl_ts`/`ottyl_fmt` names
|
||||
/// (`crate::engine::OTTYL_RESERVED_PARAM_NAMES`), synthesized into the `GET /api/params`
|
||||
/// response by `crate::api::list_params` rather than backed by any index entry — distinct from
|
||||
/// `auto_derived` (which *is* a real, if machine-discovered, `ParamDeclaration`). Always
|
||||
/// `false` for every other entry. There is no removal path for these at all (not just a
|
||||
/// disabled one), so the frontend should treat `reserved` as non-deletable/non-editable.
|
||||
#[serde(default)]
|
||||
pub reserved: bool,
|
||||
}
|
||||
@@ -42,13 +31,9 @@ pub struct ParamDeclarationDto {
|
||||
pub struct MetricDeclarationDto {
|
||||
pub name: String,
|
||||
pub message_match_regex: String,
|
||||
/// Names of standalone `ParamDeclaration`s used as this metric's bucket labels.
|
||||
pub label_params: Vec<String>,
|
||||
/// Name of the standalone `ParamDeclaration` (if any) whose primitive becomes this metric's per-event bucket value instead of a label.
|
||||
pub value_param: Option<String>,
|
||||
/// See `crate::engine::DeclareMetricRequest::matched_labels`.
|
||||
pub matched_labels: Option<BTreeMap<String, String>>,
|
||||
/// See `crate::engine::DeclareMetricRequest::unmatched_labels`.
|
||||
pub unmatched_labels: Option<BTreeMap<String, String>>,
|
||||
}
|
||||
|
||||
@@ -65,24 +50,7 @@ pub struct StatsDto {
|
||||
pub last_sequence: Option<u64>,
|
||||
pub first_timestamp_ms: Option<i64>,
|
||||
pub last_timestamp_ms: Option<i64>,
|
||||
/// Ticket 011: a running, *approximate* estimate of the in-memory heap
|
||||
/// held by currently-ingested logs, in bytes. "Approximate" because it
|
||||
/// only counts each `IngestedLine::text`'s UTF-8 byte length — it does
|
||||
/// not account for `String`'s allocator overhead/capacity slack, the
|
||||
/// `BTreeMap`/`IndexKey` node overhead the text is stored under, or any
|
||||
/// derived data (bucket values, params) the line produces elsewhere in
|
||||
/// the index. That's judged the best cheap proxy for "how much memory is
|
||||
/// this log's text costing us": it's O(1) to compute per log (`text.len()`,
|
||||
/// already an interned byte count for UTF-8 `String`), moves in lockstep
|
||||
/// with the dominant cost (raw log text, which is usually much larger
|
||||
/// than the fixed per-entry bookkeeping), and needs no per-entry
|
||||
/// bookkeeping beyond what eviction already tracks.
|
||||
pub approx_bytes_total: u64,
|
||||
/// Ticket 073: the highest ingestion-to-engine-processing lag (`ottyl_ts` at read time vs. when
|
||||
/// the engine actor actually got around to processing that line) seen within the trailing 5
|
||||
/// seconds, in milliseconds — see `crate::engine::record_ingest_lag`'s rolling high-watermark.
|
||||
/// Stays near zero under normal load; rises under actor backpressure (a slow query in flight, a
|
||||
/// large backlog) and decays back out of the window once the stall clears.
|
||||
pub ingest_lag_high_watermark_ms: i64,
|
||||
}
|
||||
|
||||
@@ -92,15 +60,8 @@ pub struct LogsParams {
|
||||
pub start_ms: Option<i64>,
|
||||
pub end_ms: Option<i64>,
|
||||
pub limit: Option<usize>,
|
||||
/// Raw FilterBar query string, e.g. `regex("error") and ottyl_seq<5`.
|
||||
pub filter: Option<String>,
|
||||
/// Ticket 045: an already-declared param name to order the returned entries by, in place of the
|
||||
/// default ingest order (which tracks `ottyl_ts`). `None` (the default) leaves ordering
|
||||
/// unchanged.
|
||||
pub sort_by: Option<String>,
|
||||
/// Ticket 045: only meaningful alongside `sort_by`. `true` (the default) orders lines missing
|
||||
/// that param among themselves by `ottyl_seq` and appends them after the sorted lines; `false`
|
||||
/// drops those lines from the response entirely.
|
||||
pub sort_missing_fallback: Option<bool>,
|
||||
}
|
||||
|
||||
@@ -109,11 +70,9 @@ pub struct TimelineParams {
|
||||
pub start_ms: Option<i64>,
|
||||
pub end_ms: Option<i64>,
|
||||
pub bucket_ms: Option<i64>,
|
||||
/// Same FilterBar query string as `LogsParams::filter`; only matching logs are counted into timeline buckets.
|
||||
pub filter: Option<String>,
|
||||
}
|
||||
|
||||
/// One (sequence, timestamp, value) occurrence within a metric's bucket for a given label combination.
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
pub struct BucketValueDto {
|
||||
pub labels: BTreeMap<String, MetricPrimitive>,
|
||||
@@ -122,7 +81,6 @@ pub struct BucketValueDto {
|
||||
pub value: MetricPrimitive,
|
||||
}
|
||||
|
||||
/// `labels` is a comma-separated `key=value` list (not repeated params) since axum's `Query` extractor needs a fixed set of field names.
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct BucketValuesParams {
|
||||
pub labels: Option<String>,
|
||||
@@ -132,7 +90,6 @@ pub struct BucketValuesParams {
|
||||
pub limit: Option<usize>,
|
||||
}
|
||||
|
||||
/// `labels` uses plain `String` (already Display-formatted) since charts just need something to show; `value` is always `f64` for plottability.
|
||||
#[derive(Debug, Clone, Serialize, PartialEq)]
|
||||
pub struct PromqlSeriesDto {
|
||||
pub labels: BTreeMap<String, String>,
|
||||
@@ -146,27 +103,22 @@ pub struct PromqlParams {
|
||||
pub end_ms: Option<i64>,
|
||||
}
|
||||
|
||||
/// JSON error body returned by API handlers on a 4xx/5xx response.
|
||||
#[derive(Debug, Serialize)]
|
||||
pub struct ErrorDto {
|
||||
pub error: String,
|
||||
}
|
||||
|
||||
/// Every imported CSS entry is a selectable theme (ticket 020) — there's no separate
|
||||
/// always-on-overlay mode to opt into.
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct ImportCssRequest {
|
||||
pub filename: String,
|
||||
pub content: String,
|
||||
}
|
||||
|
||||
/// A reference to an external CSS path/URL that ottyl doesn't copy or own.
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct LinkCssRequest {
|
||||
pub path_or_url: String,
|
||||
}
|
||||
|
||||
/// `id` is the real id for `Imported` entries or a stable id derived from the path/URL for `Linked` ones, so the frontend can key both kinds uniformly (only `Imported` entries are deletable/content-fetchable).
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
pub struct CssEntryDto {
|
||||
pub id: String,
|
||||
@@ -201,18 +153,13 @@ impl From<&CssEntry> for CssEntryDto {
|
||||
}
|
||||
}
|
||||
|
||||
/// `css_entries` is omitted here since it has its own `GET /api/settings/css` endpoint.
|
||||
#[derive(Debug, Clone, Serialize)]
|
||||
pub struct SettingsDto {
|
||||
pub color_scheme: ColorScheme,
|
||||
pub active_profile: Option<String>,
|
||||
/// `None` means unlimited.
|
||||
pub max_logs: Option<usize>,
|
||||
/// Id of the selected custom theme entry, if any. `None` means `color_scheme` alone determines the active palette.
|
||||
pub custom_theme_id: Option<String>,
|
||||
/// Ntfy topic every alert rule delivers to; `None` until configured.
|
||||
pub ntfy_topic: Option<String>,
|
||||
/// Ntfy server override; `None` means `https://ntfy.sh`.
|
||||
pub ntfy_server: Option<String>,
|
||||
}
|
||||
|
||||
@@ -229,7 +176,6 @@ impl From<&Settings> for SettingsDto {
|
||||
}
|
||||
}
|
||||
|
||||
/// `max_logs`/`custom_theme_id`/`ntfy_topic`/`ntfy_server` distinguish "omitted" (leave unchanged) from "present" (null clears, value sets), via `deserialize_double_option`.
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct UpdateSettingsRequest {
|
||||
pub color_scheme: Option<ColorScheme>,
|
||||
@@ -243,7 +189,6 @@ pub struct UpdateSettingsRequest {
|
||||
pub ntfy_server: Option<Option<String>>,
|
||||
}
|
||||
|
||||
/// Distinguishes a missing field (outer `None`) from present `null` (`Some(None)`) or present value (`Some(Some(value))`), which plain `Option<Option<T>>` can't do alone.
|
||||
fn deserialize_double_option<'de, D, T>(deserializer: D) -> Result<Option<Option<T>>, D::Error>
|
||||
where
|
||||
D: serde::Deserializer<'de>,
|
||||
@@ -266,7 +211,6 @@ pub struct UpdateAlertRuleRequest {
|
||||
pub condition: AlertCondition,
|
||||
}
|
||||
|
||||
/// `server` defaults to `https://ntfy.sh` when absent.
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct TestAlertNotificationRequest {
|
||||
pub topic: String,
|
||||
@@ -297,7 +241,6 @@ pub struct CreateProfileRequest {
|
||||
pub name: String,
|
||||
}
|
||||
|
||||
/// Mirrors `profile::Panel`.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct PanelDto {
|
||||
pub id: String,
|
||||
@@ -328,7 +271,6 @@ impl From<&PanelDto> for Panel {
|
||||
}
|
||||
}
|
||||
|
||||
/// Mirrors `profile::Dashboard`.
|
||||
#[derive(Debug, Clone, Serialize, Deserialize)]
|
||||
pub struct DashboardDto {
|
||||
pub id: String,
|
||||
@@ -361,7 +303,6 @@ pub struct CreateDashboardRequest {
|
||||
pub name: String,
|
||||
}
|
||||
|
||||
/// The dashboard `id` in the URL is authoritative; any `id` in the body is ignored.
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct SaveDashboardRequest {
|
||||
pub name: String,
|
||||
|
||||
Reference in New Issue
Block a user