Skip to content

feat: Add User-Agent attribution for Databricks Partner telemetry#42

Open
prasadkona wants to merge 1 commit intodatabrickslabs:mainfrom
prasadkona:feature/add-user-agent-telemetry
Open

feat: Add User-Agent attribution for Databricks Partner telemetry#42
prasadkona wants to merge 1 commit intodatabrickslabs:mainfrom
prasadkona:feature/add-user-agent-telemetry

Conversation

@prasadkona
Copy link

Summary

Add centralized User-Agent configuration following the Databricks Partner Well-Architected Framework guidelines for API attribution. This enables Databricks to track Kasal usage across all API integrations.

Changes

New File

  • src/backend/src/utils/telemetry.py - Centralized User-Agent module with helper functions

Modified Files

File User-Agent Integration Method
databricks_jobs_tool.py Kasal_jobs/0.1.0 REST API header
genie_repository.py Kasal_genie/0.1.0 REST API header
genie_tool.py Kasal_genie/0.1.0 REST API header
databricks_vector_index_repository.py Kasal_vectorsearch/0.1.0 REST API header
databricks_volume_repository.py Kasal/0.1.0 SDK + REST fallback
databricks_service.py Kasal/0.1.0 REST API header
mlflow_service.py Kasal/0.1.0 SDK registration
llm_manager.py Kasal LiteLLM user_agent param
lakebase_session.py Kasal/0.1.0 PostgreSQL application_name

User-Agent Format

Following the Databricks Partner Well-Architected Framework:

<isv-name_product-name>/<product-version>

Examples:

  • Kasal/0.1.0 - Base product
  • Kasal_jobs/0.1.0 - Databricks Jobs integration
  • Kasal_genie/0.1.0 - Genie integration
  • Kasal_vectorsearch/0.1.0 - Vector Search integration

Testing

  • ✅ All 6,184 unit tests pass
  • ✅ All modified files import successfully
  • ✅ User-Agent functions verified working

Add centralized User-Agent configuration following the Databricks Partner
Well-Architected Framework guidelines for API attribution.

Changes:
- Create src/utils/telemetry.py with User-Agent helper functions
- Add Kasal_jobs User-Agent to Databricks Jobs API calls
- Add Kasal_genie User-Agent to Genie API calls
- Add Kasal_vectorsearch User-Agent to Vector Search API calls
- Add Kasal User-Agent to UC Volumes (SDK + REST fallback)
- Add Kasal User-Agent to SQL Warehouse connection tests
- Add Kasal User-Agent to MLflow SDK calls
- Add Kasal user_agent to LiteLLM for Databricks models
- Add Kasal application_name to Lakebase PostgreSQL connections

User-Agent Format: <isv-name_product-name>/<product-version>
Examples: Kasal/0.1.0, Kasal_jobs/0.1.0, Kasal_genie/0.1.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant