diff --git a/docs/user-guide/configurations.md b/docs/user-guide/configurations.md index 3b265e4..3ba9471 100644 --- a/docs/user-guide/configurations.md +++ b/docs/user-guide/configurations.md @@ -101,7 +101,7 @@ DATU_ENABLE_MCP=true ##### MCP Servers Configuration Define your MCP servers in a JSON config file (e.g. mcp_config.json): -```sh +```json { "mcpServers": { "sql_generator": { @@ -113,3 +113,12 @@ Define your MCP servers in a JSON config file (e.g. mcp_config.json): } ``` +#### Telemetry related configuration + +##### Product telemetry + +Product telemetry is enabled by default and you can disable it by + +```sh +DATU_ENABLE_ANONYMIZED_TELEMETRY=false +``` \ No newline at end of file diff --git a/docs/user-guide/deploy/deploy_as_container_service.md b/docs/user-guide/deploy/deploy_as_container_service.md index 0e328a9..2503be5 100644 --- a/docs/user-guide/deploy/deploy_as_container_service.md +++ b/docs/user-guide/deploy/deploy_as_container_service.md @@ -6,7 +6,7 @@ Use below recommended method to run Datu application as container service. To deploy your Datu, you need to containerize it using Podman or Docker. The Dockerfile defines how your application is packaged and run. Below is an example Docker file that installs all needed dependencies, the application, and configures the FastAPI server to run via unicorn dockerfile. -```sh +```dockerfile FROM python:3.11-slim SHELL ["/bin/bash", "-c"] @@ -18,15 +18,15 @@ RUN apt-get update && \ rm -rf /var/lib/apt/lists/* && \ pip install --upgrade pip -RUN curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - -RUN curl https://packages.microsoft.com/config/debian/11/prod.list > /etc/apt/sources.list.d/mssql-release.list +RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg \ +&& curl https://packages.microsoft.com/config/debian/11/prod.list -o /etc/apt/sources.list.d/mssql-release.list RUN apt-get update RUN env ACCEPT_EULA=Y apt-get install -y msodbcsql18 WORKDIR /app +COPY . . RUN pip install "datu-core[postgres,sqldb]" -ENTRYPOINT [] -CMD ["uvicorn", "datu.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"] +CMD ["datu"] ``` ## Infrastructure diff --git a/docs/user-guide/telemetry/product.md b/docs/user-guide/telemetry/product.md new file mode 100644 index 0000000..efa7981 --- /dev/null +++ b/docs/user-guide/telemetry/product.md @@ -0,0 +1,48 @@ +# Telemetry in Datu Server + +Datu Server comes with a built-in **telemetry system** that gathers **anonymous usage information**. +This data helps the maintainers understand how the software is being used and guides ongoing improvements. + +--- + +## Why Telemetry? + +Telemetry provides valuable feedback without exposing personal or sensitive information. +It allows the team to: + +- Measure how features are being adopted. +- Detect common usage patterns and performance bottlenecks. +- Prioritize enhancements that have the greatest impact. +- Ensure the system evolves in line with real-world needs. + +--- + +## What Data Is Collected? + +The telemetry system only collects **non-identifiable, aggregated data** such as: + +- Basic environment details (e.g., version, operating system). +- Which features or APIs are being exercised. +- MCP server names. +- General performance metrics. + +No private data, user content, or identifiers are captured such as: usernames, hostnames, file names, environment variables, or hostnames of systems being tested. + +--- + +## Where is telemetry information stored? + +We use [Posthog](https://posthog.com/) to store and visualize telemetry data. + +