Правки

This commit is contained in:
2026-03-07 17:21:27 +03:00
parent e055a6a09e
commit 93e9f4c37e
7 changed files with 347 additions and 168 deletions

View File

@@ -0,0 +1,37 @@
-- MySQL schema for PLBA tracing.
-- Guarantees compatibility with TraceService levels: INFO, WARNING, ERROR.
CREATE TABLE IF NOT EXISTS trace_contexts (
trace_id VARCHAR(64) PRIMARY KEY,
parent_id VARCHAR(64) NULL,
alias VARCHAR(255) NOT NULL,
type VARCHAR(64) NULL,
event_time DATETIME(6) NOT NULL,
attrs_json JSON NOT NULL,
KEY idx_trace_contexts_parent_id (parent_id),
CONSTRAINT fk_trace_contexts_parent
FOREIGN KEY (parent_id) REFERENCES trace_contexts(trace_id)
ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLE IF NOT EXISTS trace_messages (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
trace_id VARCHAR(64) NOT NULL,
event_time DATETIME(6) NOT NULL,
step VARCHAR(128) NOT NULL,
status VARCHAR(64) NOT NULL,
level ENUM('INFO', 'WARNING', 'ERROR') NOT NULL,
message TEXT NOT NULL,
attrs_json JSON NOT NULL,
KEY idx_trace_messages_trace_id (trace_id),
KEY idx_trace_messages_event_time (event_time),
KEY idx_trace_messages_level (level),
CONSTRAINT fk_trace_messages_context
FOREIGN KEY (trace_id) REFERENCES trace_contexts(trace_id)
ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
-- Migration for existing installations.
-- If your `trace_messages.level` does not include WARNING, run this ALTER.
ALTER TABLE trace_messages
MODIFY COLUMN level ENUM('INFO', 'WARNING', 'ERROR') NOT NULL;