Telemetry Overview
Partner Telemetry
Send AL-Go telemetry to your own Application Insights for custom analysis and dashboards
Microsoft Telemetry
Optionally share workflow data with Microsoft for product improvements and support
Quick Start
Enable telemetry by adding your Application Insights connection string to the AL-Go settings file.Enable Partner Telemetry
Add the following setting to.github/AL-Go-Settings.json:
Create Application Insights
If you don’t have an Application Insights resource:
- Navigate to Azure Portal
- Create a new Application Insights resource
- Copy the connection string from the Overview page
Your connection string is typically in the format:
InstrumentationKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx;IngestionEndpoint=https://....Microsoft Telemetry Options
AL-Go sends basic telemetry to Microsoft by default. You can control this behavior:- Opt Out
- Extended Telemetry
- Default (Basic)
Disable Microsoft telemetry completely:
Telemetry Events
AL-Go emits four main types of telemetry events:Workflow Completed
Emitted when an AL-Go workflow finishes successfully
Workflow Failed
Emitted when an AL-Go workflow fails or times out
Action Completed
Emitted when an AL-Go action completes successfully
Action Failed
Emitted when an AL-Go action encounters an error
Common Telemetry Dimensions
All telemetry events include these standard dimensions:| Dimension | Description |
|---|---|
| PowerShellVersion | Version of PowerShell executing the action |
| BcContainerHelperVersion | Version of BcContainerHelper (if imported) |
| WorkflowName | Name of the GitHub Actions workflow |
| RunnerOs | Operating system of the runner (Windows, Linux, macOS) |
| RunId | Unique GitHub Actions run ID |
| RunNumber | Sequential run number |
| RunAttempt | Retry attempt number |
| Repository | Repository identifier |
| RepositoryOwner | GitHub organization or user owning the repository |
| RepositoryName | Full repository name (owner/repo) |
| RefName | Git reference (branch or tag) that triggered the workflow |
| ALGoVersion | Version of AL-Go being used |
Event Details
AL-Go Workflow Ran
Message:AL-Go workflow ranSeverity Level: 1 (Informational) Additional Dimensions:
| Dimension | Description |
|---|---|
| WorkflowConclusion | Success or Cancelled |
| WorkflowDuration | Total workflow execution time (seconds) |
| RepoType | AppSource or PTE |
| GitHubRunner | Value of the gitHubRunner setting |
| RunsOn | Value of the runs-on setting |
AL-Go Workflow Failed
Message:AL-Go workflow failedSeverity Level: 3 (Error) Additional Dimensions:
| Dimension | Description |
|---|---|
| WorkflowConclusion | Failure or TimedOut |
| WorkflowDuration | Total workflow execution time (seconds) |
| RepoType | AppSource or PTE |
| GitHubRunner | Value of the gitHubRunner setting |
| RunsOn | Value of the runs-on setting |
AL-Go Action Ran
Message:AL-Go action ranSeverity Level: 1 (Informational) Additional Dimensions:
| Dimension | Description |
|---|---|
| ActionDuration | Action execution time (seconds) |
| RunnerEnvironment | GitHub-hosted or self-hosted |
AL-Go Action Failed
Message:AL-Go action failedSeverity Level: 3 (Error) Additional Dimensions:
| Dimension | Description |
|---|---|
| ErrorMessage | The error message that caused the failure |
| RunnerEnvironment | GitHub-hosted or self-hosted |
Test Results
AL-Go logs telemetry for three types of test results:AL-Go Test Results - TestsAL-Go Test Results - Page scripting TestsAL-Go Test Results - BCPT Tests
| Dimension | Description |
|---|---|
| TotalTests | Total number of tests executed |
| TotalPassed | Number of tests that passed |
| TotalFailed | Number of tests that failed |
| TotalSkipped | Number of tests skipped |
| TotalTime | Total test execution time (not available for BCPT) |
The
TotalTime dimension is only available for standard tests and page scripting tests. BCPT test results do not include timing information.Querying Telemetry Data
Use Kusto Query Language (KQL) to analyze your AL-Go telemetry in Application Insights.Workflow Completion Query
Get all completed workflow runs from the last 7 days:Action Completion Query
Analyze individual action performance:Test Results Query
Track test execution and pass rates:Azure Data Explorer Dashboard
AL-Go provides a template dashboard for Azure Data Explorer to visualize your telemetry.Download Template
Download the telemetry dashboard template from the AL-Go repository.
Configure Dashboard
Open the downloaded
telemetrydashboard.json file in an editor and replace:- database: Your Application Insights resource name
- clusterUri: Your Application Insights Data Explorer URI:
Import Dashboard
- Navigate to https://dataexplorer.azure.com/dashboards
- Click the arrow next to “New Dashboard”
- Select “Import dashboard from file”
- Upload your configured JSON file
Custom Dashboards and Alerts
Performance Monitoring Dashboard
Create a custom workbook to track workflow performance:- Workflow Duration Trends
- Success Rate
- Test Results Summary
Configure Alerts
Set up alerts for critical events:Workflow Failure Alert
Create an alert when workflows fail:Set threshold to trigger when result count > 0.
Best Practices
Use Separate Workspaces
Create dedicated Application Insights resources for different environments (dev, test, prod)
Set Retention Policies
Configure appropriate data retention based on compliance requirements and cost considerations
Create Workbooks
Build custom Azure Monitor workbooks for your team’s specific metrics and KPIs
Regular Review
Schedule periodic reviews of telemetry data to identify trends and optimization opportunities
Security and Compliance
Troubleshooting
No telemetry data appearing
No telemetry data appearing
Check:
- Connection string is correct in AL-Go settings
- Application Insights resource is active
- Workflows have run after enabling telemetry
- No firewall blocking access to Application Insights ingestion endpoint
Incomplete telemetry data
Incomplete telemetry data
Verify:
- PowerShell execution policy allows AL-Go scripts to run
- No network timeouts when sending telemetry
- Application Insights sampling is not too aggressive
Query returns no results
Query returns no results
Ensure:
- Time range in query covers when workflows ran
- customDimensions are queried correctly (case-sensitive)
- Message filter matches exact telemetry messages
- Data ingestion latency (may take 1-2 minutes)
Advanced Scenarios
Multi-Repository Dashboards
Track telemetry across all repositories in your organization:Correlate with Azure DevOps
If using AL-Go with other DevOps tools, correlate data using custom dimensions:Next Steps
Azure KeyVault
Secure your secrets with Azure KeyVault integration
Customization
Customize AL-Go workflows for your needs