feat: add protocol interaction observability
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
CREATE TABLE "ProtocolInteractionLog" (
|
||||
"id" TEXT NOT NULL,
|
||||
"protocol" TEXT NOT NULL,
|
||||
"direction" TEXT NOT NULL,
|
||||
"eventType" TEXT NOT NULL,
|
||||
"status" TEXT NOT NULL,
|
||||
"tenantId" TEXT,
|
||||
"applicationId" TEXT,
|
||||
"channelId" TEXT,
|
||||
"account" TEXT,
|
||||
"messageId" TEXT,
|
||||
"gatewayMessageId" TEXT,
|
||||
"traceId" TEXT,
|
||||
"requestId" TEXT,
|
||||
"phoneMasked" TEXT,
|
||||
"resultCode" TEXT,
|
||||
"durationMs" INTEGER,
|
||||
"payloadBytes" INTEGER,
|
||||
"retryCount" INTEGER,
|
||||
"detail" JSONB,
|
||||
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
|
||||
CONSTRAINT "ProtocolInteractionLog_pkey" PRIMARY KEY ("id")
|
||||
);
|
||||
|
||||
CREATE INDEX "ProtocolInteractionLog_createdAt_idx" ON "ProtocolInteractionLog"("createdAt");
|
||||
CREATE INDEX "ProtocolInteractionLog_protocol_direction_createdAt_idx" ON "ProtocolInteractionLog"("protocol", "direction", "createdAt");
|
||||
CREATE INDEX "ProtocolInteractionLog_eventType_createdAt_idx" ON "ProtocolInteractionLog"("eventType", "createdAt");
|
||||
CREATE INDEX "ProtocolInteractionLog_status_createdAt_idx" ON "ProtocolInteractionLog"("status", "createdAt");
|
||||
CREATE INDEX "ProtocolInteractionLog_channelId_createdAt_idx" ON "ProtocolInteractionLog"("channelId", "createdAt");
|
||||
CREATE INDEX "ProtocolInteractionLog_applicationId_createdAt_idx" ON "ProtocolInteractionLog"("applicationId", "createdAt");
|
||||
CREATE INDEX "ProtocolInteractionLog_messageId_idx" ON "ProtocolInteractionLog"("messageId");
|
||||
CREATE INDEX "ProtocolInteractionLog_gatewayMessageId_idx" ON "ProtocolInteractionLog"("gatewayMessageId");
|
||||
CREATE INDEX "ProtocolInteractionLog_requestId_idx" ON "ProtocolInteractionLog"("requestId");
|
||||
@@ -182,6 +182,39 @@ model OperationLogArchive {
|
||||
@@index([archiveMonth])
|
||||
}
|
||||
|
||||
model ProtocolInteractionLog {
|
||||
id String @id @default(cuid())
|
||||
protocol String
|
||||
direction String
|
||||
eventType String
|
||||
status String
|
||||
tenantId String?
|
||||
applicationId String?
|
||||
channelId String?
|
||||
account String?
|
||||
messageId String?
|
||||
gatewayMessageId String?
|
||||
traceId String?
|
||||
requestId String?
|
||||
phoneMasked String?
|
||||
resultCode String?
|
||||
durationMs Int?
|
||||
payloadBytes Int?
|
||||
retryCount Int?
|
||||
detail Json?
|
||||
createdAt DateTime @default(now())
|
||||
|
||||
@@index([createdAt])
|
||||
@@index([protocol, direction, createdAt])
|
||||
@@index([eventType, createdAt])
|
||||
@@index([status, createdAt])
|
||||
@@index([channelId, createdAt])
|
||||
@@index([applicationId, createdAt])
|
||||
@@index([messageId])
|
||||
@@index([gatewayMessageId])
|
||||
@@index([requestId])
|
||||
}
|
||||
|
||||
model FileObject {
|
||||
id String @id @default(cuid())
|
||||
tenantId String?
|
||||
|
||||
Reference in New Issue
Block a user