LogMetadata.stories.tsx•10.1 kB
import type { Meta, StoryObj } from "@storybook/nextjs";
import { functionIdentifierValue } from "@common/lib/functions/generateFileTree";
import { LogMetadata } from "./LogMetadata";
const meta: Meta<typeof LogMetadata> = {
component: LogMetadata,
parameters: {
layout: "padded",
},
};
export default meta;
type Story = StoryObj<typeof meta>;
const mockQueryLogs = [
{
id: "1",
udfType: "Query" as const,
localizedTimestamp: "2023-10-15 10:30:00",
timestamp: 1697365800000,
call: functionIdentifierValue("api/users:list"),
cachedResult: false,
requestId: "req_123",
executionId: "exec_1",
caller: "SyncWorker",
environment: "isolate",
identityType: "user",
parentExecutionId: null,
executionTimestamp: 1697365800000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 45.5,
usageStats: {
databaseReadBytes: 5120,
databaseReadDocuments: 25,
databaseWriteBytes: 0,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 0,
},
returnBytes: 2048,
},
];
const mockMutationLogs = [
{
id: "1",
udfType: "Mutation" as const,
localizedTimestamp: "2023-10-15 10:30:00",
timestamp: 1697365800000,
call: functionIdentifierValue("api/users:create"),
cachedResult: false,
requestId: "req_456",
executionId: "exec_2",
caller: "HttpApi",
environment: "isolate",
identityType: "user",
parentExecutionId: null,
executionTimestamp: 1697365800000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 120.3,
usageStats: {
databaseReadBytes: 1024,
databaseReadDocuments: 3,
databaseWriteBytes: 4096,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 0,
},
returnBytes: 512,
},
];
const mockActionLogs = [
{
id: "1",
udfType: "Action" as const,
localizedTimestamp: "2023-10-15 10:30:00",
timestamp: 1697365800000,
call: functionIdentifierValue("api/email:send"),
cachedResult: false,
requestId: "req_789",
executionId: "exec_3",
caller: "Scheduler",
environment: "node",
identityType: "system",
parentExecutionId: null,
executionTimestamp: 1697365800000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 2500,
usageStats: {
databaseReadBytes: 2048,
databaseReadDocuments: 5,
databaseWriteBytes: 1024,
storageReadBytes: 10240,
storageWriteBytes: 5120,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 128,
},
returnBytes: 1024,
},
];
const mockHttpActionLogs = [
{
id: "1",
udfType: "HttpAction" as const,
localizedTimestamp: "2023-10-15 10:30:00",
timestamp: 1697365800000,
call: functionIdentifierValue("http:webhook"),
cachedResult: false,
requestId: "req_http_1",
executionId: "exec_http_1",
caller: "HttpEndpoint",
environment: "node",
identityType: "user",
parentExecutionId: null,
executionTimestamp: 1697365800000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: "200",
},
executionTimeMs: 850,
usageStats: {
databaseReadBytes: 8192,
databaseReadDocuments: 10,
databaseWriteBytes: 2048,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 64,
},
returnBytes: 4096,
},
];
const mockCachedQueryLogs = [
{
id: "1",
udfType: "Query" as const,
localizedTimestamp: "2023-10-15 10:30:00",
timestamp: 1697365800000,
call: functionIdentifierValue("api/users:list"),
cachedResult: true,
requestId: "req_cached_1",
executionId: "exec_cached_1",
caller: "SyncWorker",
environment: "isolate",
identityType: "user",
parentExecutionId: null,
executionTimestamp: 1697365800000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 5.2,
usageStats: {
databaseReadBytes: 0,
databaseReadDocuments: 0,
databaseWriteBytes: 0,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 0,
},
returnBytes: 2048,
},
];
const mockAdminLogs = [
{
id: "1",
udfType: "Mutation" as const,
localizedTimestamp: "2023-10-15 10:30:00",
timestamp: 1697365800000,
call: functionIdentifierValue("admin/users:delete"),
cachedResult: false,
requestId: "req_admin_1",
executionId: "exec_admin_1",
caller: "Tester",
environment: "isolate",
identityType: "instance_admin",
parentExecutionId: null,
executionTimestamp: 1697365800000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 75.8,
usageStats: {
databaseReadBytes: 512,
databaseReadDocuments: 1,
databaseWriteBytes: 512,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 0,
},
},
];
const mockLogsWithVectorData = [
{
id: "1",
udfType: "Query" as const,
localizedTimestamp: "2023-10-15 10:30:00",
timestamp: 1697365800000,
call: functionIdentifierValue("api/search:vectors"),
cachedResult: false,
requestId: "req_vector_1",
executionId: "exec_vector_1",
caller: "SyncWorker",
environment: "isolate",
identityType: "user",
parentExecutionId: null,
executionTimestamp: 1697365800000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 125.5,
usageStats: {
databaseReadBytes: 2048,
databaseReadDocuments: 5,
databaseWriteBytes: 0,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 16384,
vectorIndexWriteBytes: 8192,
actionMemoryUsedMb: 0,
},
returnBytes: 8192,
},
];
const mockMultipleExecutionsLogs = [
{
id: "1",
udfType: "Query" as const,
localizedTimestamp: "2023-10-15 10:30:00",
timestamp: 1697365800000,
call: functionIdentifierValue("api/users:list"),
cachedResult: false,
requestId: "req_multi_1",
executionId: "exec_multi_1",
caller: "SyncWorker",
environment: "isolate",
identityType: "user",
parentExecutionId: null,
executionTimestamp: 1697365800000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 45.5,
usageStats: {
databaseReadBytes: 5120,
databaseReadDocuments: 25,
databaseWriteBytes: 0,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 0,
},
returnBytes: 2048,
},
{
id: "2",
udfType: "Mutation" as const,
localizedTimestamp: "2023-10-15 10:30:01",
timestamp: 1697365801000,
call: functionIdentifierValue("api/users:update"),
cachedResult: false,
requestId: "req_multi_1",
executionId: "exec_multi_2",
caller: "Action",
environment: "isolate",
identityType: "user",
parentExecutionId: "exec_multi_1",
executionTimestamp: 1697365801000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 80.2,
usageStats: {
databaseReadBytes: 1024,
databaseReadDocuments: 3,
databaseWriteBytes: 2048,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 0,
},
returnBytes: 512,
},
{
id: "3",
udfType: "Action" as const,
localizedTimestamp: "2023-10-15 10:30:02",
timestamp: 1697365802000,
call: functionIdentifierValue("api/email:send"),
cachedResult: false,
requestId: "req_multi_1",
executionId: "exec_multi_3",
caller: "Action",
environment: "node",
identityType: "user",
parentExecutionId: "exec_multi_2",
executionTimestamp: 1697365802000,
kind: "outcome" as const,
outcome: {
status: "success" as const,
statusCode: null,
},
executionTimeMs: 1500,
usageStats: {
databaseReadBytes: 0,
databaseReadDocuments: 0,
databaseWriteBytes: 0,
storageReadBytes: 0,
storageWriteBytes: 0,
vectorIndexReadBytes: 0,
vectorIndexWriteBytes: 0,
actionMemoryUsedMb: 96,
},
returnBytes: 256,
},
];
export const QueryRequest: Story = {
args: {
requestId: "req_123",
logs: mockQueryLogs,
},
};
export const MutationRequest: Story = {
args: {
requestId: "req_456",
logs: mockMutationLogs,
},
};
export const ActionRequest: Story = {
args: {
requestId: "req_789",
logs: mockActionLogs,
},
};
export const HttpActionRequest: Story = {
args: {
requestId: "req_http_1",
logs: mockHttpActionLogs,
},
};
export const CachedQuery: Story = {
args: {
requestId: "req_cached_1",
logs: mockCachedQueryLogs,
},
};
export const AdminRequest: Story = {
args: {
requestId: "req_admin_1",
logs: mockAdminLogs,
},
};
export const WithVectorData: Story = {
args: {
requestId: "req_vector_1",
logs: mockLogsWithVectorData,
},
};
export const MultipleExecutions: Story = {
args: {
requestId: "req_multi_1",
logs: mockMultipleExecutionsLogs,
},
};
export const ExecutionView: Story = {
args: {
requestId: "req_multi_1",
logs: mockMultipleExecutionsLogs,
executionId: "exec_multi_2",
},
};