Skip to content

Add opt-in SDK usage telemetry to understand feature adoption #18702

@zzstoatzz

Description

@zzstoatzz

Motivation

We want to better understand how users interact with the Prefect SDK to improve the product. Currently, we have limited visibility into which features are widely used vs rarely touched in the Prefect SDK.

Proposal

Add an opt-in telemetry system that collects anonymous usage metrics about SDK features. This is completely separate from existing server telemetry and OpenTelemetry tracing.

Key Points

  • Opt-in by default - Disabled unless explicitly enabled by the user
  • Privacy-first - No personal data, function names, parameters, or business logic collected
  • Transparent - Users can preview exactly what would be sent
  • Respectful - One-time prompt, easy to disable

What would be collected

  • Feature usage (e.g., "flow uses retries", "task uses caching")
  • Decorator counts (e.g., 5 flows, 10 tasks defined)
  • Environment info (Python version, OS)
  • Block types used (just types like 's3', not values)
  • Exception types (just class names, not messages)

What would NOT be collected

  • Flow/task names or descriptions
  • Parameter values or results
  • File paths or code
  • IP addresses or hostnames
  • Any identifying information

We could have a one-time prompt to opt-in in the CLI.

This will help us make data-driven decisions about feature development and deprecation while fully respecting user privacy.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions