Version 2.5
Logs and Telemetry

Logs and telemetry

The Sema4.ai native app runs entirely inside your Snowflake account, and writes its logs, metrics, and traces to your account's event table. A limited subset is shared with Sema4.ai so support can help you when something goes wrong. This page covers how to read your own telemetry, and exactly what leaves your account.

Finding your event table

The app writes to the active event table in your account. To find out which table that is:

SHOW PARAMETERS LIKE 'event_table' IN ACCOUNT;

Read the value column. A fully qualified name such as MY_DB.MY_SCHEMA.MY_EVENTS is your active event table. If the value is empty, your account is using Snowflake's built-in default, SNOWFLAKE.TELEMETRY.EVENTS, and telemetry is still being collected there.

The event table must be set at the account level. Snowflake does not collect telemetry from containerized applications when the event table is scoped to a database, so a database-level event table leaves you with no app logs at all.

To route app telemetry to a table of your own:

ALTER ACCOUNT SET EVENT_TABLE = <database>.<schema>.<event_table>;

Reading recent logs

Substitute your event table and application name:

SELECT TIMESTAMP,
       RECORD:severity_text::string AS severity,
       VALUE                        AS message,
       RECORD_ATTRIBUTES
FROM SNOWFLAKE.TELEMETRY.EVENTS
WHERE RECORD_TYPE = 'LOG'
  AND RESOURCE_ATTRIBUTES:"snow.application.name"::string = '<app_name>'
  AND TIMESTAMP > DATEADD(hour, -1, CURRENT_TIMESTAMP())
ORDER BY TIMESTAMP DESC;

Severities follow the OpenTelemetry names: DEBUG, INFO, WARN, ERROR, and FATAL. To narrow the results to problems only, add:

  AND RECORD:severity_text::string IN ('WARN', 'ERROR', 'FATAL')

Contextual detail — request identifiers, agent identifiers, and similar — is available in the RECORD_ATTRIBUTES column rather than in the message text.

Reading logs from a running service

To see what a service is logging right now, without querying the event table:

SELECT SYSTEM$GET_SERVICE_LOGS('<app_name>.services.sema4ai', 0, 'sema4ai', 100);

For the retained history of a service:

SELECT * FROM TABLE(<app_name>.services.sema4ai!SPCS_GET_LOGS())
ORDER BY TIMESTAMP DESC
LIMIT 100;

The app runs two services:

ServiceContents
services.sema4aiThe Sema4.ai platform: agents, the web interface, and the API
services.postgresThe app's internal database

Most application messages come from services.sema4ai. Those rows carry a service attribute of either agent-server or workroom, distinguishing the agent runtime from the web interface.

Find the app's logs in Snowsight

The app's services run in containers in your account, and their logs are available in Snowsight.

In Snowsight, go to Monitoring → Services & jobs:

The Snowsight Monitoring menu with Services & jobs highlighted
The Snowsight Monitoring menu with Services & jobs highlighted

Filter Compute pool to the pool of the app instance you want to observe — the pool is named after the instance (for example, MGM_ALPHA_APP_POOL for an instance named MGM_ALPHA). Then open the SEMA4AI service:

The Services & jobs list filtered to the app's compute pool, with the SEMA4AI service highlighted
The Services & jobs list filtered to the app's compute pool, with the SEMA4AI service highlighted

Under the service, open the Logs tab. You can follow live logs or browse historical ones, per instance and container:

The SEMA4AI service page with the Logs tab highlighted, showing live application logs
The SEMA4AI service page with the Logs tab highlighted, showing live application logs

Resource metrics

CPU and memory metrics for the app's services are collected alongside the logs:

SELECT TIMESTAMP, RECORD_ATTRIBUTES, VALUE
FROM SNOWFLAKE.TELEMETRY.EVENTS
WHERE RECORD_TYPE = 'METRIC'
  AND RESOURCE_ATTRIBUTES:"snow.application.name"::string = '<app_name>'
ORDER BY TIMESTAMP DESC;

What is shared with Sema4.ai

SharedContentsCan you turn it off?
AlwaysErrors and warnings raised by the appNo
AlwaysSnowflake's CPU and memory metrics for the app's servicesNo
OptionalInformational activity logsYes — off unless you enable it
OptionalDetailed traces of agent runsYes — off unless you enable it

To review or change what is shared, in Snowsight navigate to Data Products → Apps, select the app, choose Settings, then the App events tab. Items that are always shared are listed there for transparency; optional items can be switched on and off at any time.

Nothing is shared unless event sharing is authorized for the app in your account.

Sharing detailed agent telemetry with support

If Sema4.ai support asks for detailed telemetry about agent runs, two settings are involved, and both are yours to control.

Record agent traces in the app

Open the app and navigate to Configuration → Observability. Under the Sema4.ai-managed panel, enable Include agent traces. The app then records traces of agent runs into your event table.

Support mode additionally records infrastructure detail such as HTTP and database activity. Enable it only when support asks, since it produces considerably more data.

Share the traces from Snowsight

In Snowsight, navigate to Data Products → Apps, select the app, choose Settings, then App events, and enable sharing for traces.

Until this second step is done, agent traces stay in your account and are not shared with Sema4.ai.

Turn both settings off again once the investigation is finished. Detailed traces describe what your agents did, which is why they are off by default and never shared without your action.

Storage and cost

Telemetry is stored in your own event table and counts towards your Snowflake storage. The app logs at informational level to keep the volume reasonable. Verbose debug-level logging is not collected.

Getting help

When raising an issue with Sema4.ai support, the most useful details are your application name, the approximate time the problem occurred, and any ERROR rows from the query above.

Support can see errors and warnings shared from your install, but not informational logs or agent traces unless you have enabled sharing for them.