feat: Add Official Microsoft & Gemini Skills (845+ Total)
🚀 Impact Significantly expands the capabilities of **Antigravity Awesome Skills** by integrating official skill collections from **Microsoft** and **Google Gemini**. This update increases the total skill count to **845+**, making the library even more comprehensive for AI coding assistants. ✨ Key Changes 1. New Official Skills - **Microsoft Skills**: Added a massive collection of official skills from [microsoft/skills](https://github.com/microsoft/skills). - Includes Azure, .NET, Python, TypeScript, and Semantic Kernel skills. - Preserves the original directory structure under `skills/official/microsoft/`. - Includes plugin skills from the `.github/plugins` directory. - **Gemini Skills**: Added official Gemini API development skills under `skills/gemini-api-dev/`. 2. New Scripts & Tooling - **`scripts/sync_microsoft_skills.py`**: A robust synchronization script that: - Clones the official Microsoft repository. - Preserves the original directory heirarchy. - Handles symlinks and plugin locations. - Generates attribution metadata. - **`scripts/tests/inspect_microsoft_repo.py`**: Debug tool to inspect the remote repository structure. - **`scripts/tests/test_comprehensive_coverage.py`**: Verification script to ensure 100% of skills are captured during sync. 3. Core Improvements - **`scripts/generate_index.py`**: Enhanced frontmatter parsing to safely handle unquoted values containing `@` symbols and commas (fixing issues with some Microsoft skill descriptions). - **`package.json`**: Added `sync:microsoft` and `sync:all-official` scripts for easy maintenance. 4. Documentation - Updated `README.md` to reflect the new skill counts (845+) and added Microsoft/Gemini to the provider list. - Updated `CATALOG.md` and `skills_index.json` with the new skills. 🧪 Verification - Ran `scripts/tests/test_comprehensive_coverage.py` to verify all Microsoft skills are detected. - Validated `generate_index.py` fixes by successfully indexing the new skills.
This commit is contained in:
@@ -0,0 +1,486 @@
|
||||
---
|
||||
name: azure-mgmt-applicationinsights-dotnet
|
||||
description: |
|
||||
Azure Application Insights SDK for .NET. Application performance monitoring and observability resource management. Use for creating Application Insights components, web tests, workbooks, analytics items, and API keys. Triggers: "Application Insights", "ApplicationInsights", "App Insights", "APM", "application monitoring", "web tests", "availability tests", "workbooks".
|
||||
package: Azure.ResourceManager.ApplicationInsights
|
||||
---
|
||||
|
||||
# Azure.ResourceManager.ApplicationInsights (.NET)
|
||||
|
||||
Azure Resource Manager SDK for managing Application Insights resources for application performance monitoring.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
dotnet add package Azure.ResourceManager.ApplicationInsights
|
||||
dotnet add package Azure.Identity
|
||||
```
|
||||
|
||||
**Current Version**: v1.0.0 (GA)
|
||||
**API Version**: 2022-06-15
|
||||
|
||||
## Environment Variables
|
||||
|
||||
```bash
|
||||
AZURE_SUBSCRIPTION_ID=<your-subscription-id>
|
||||
AZURE_RESOURCE_GROUP=<your-resource-group>
|
||||
AZURE_APPINSIGHTS_NAME=<your-appinsights-component>
|
||||
```
|
||||
|
||||
## Authentication
|
||||
|
||||
```csharp
|
||||
using Azure.Identity;
|
||||
using Azure.ResourceManager;
|
||||
using Azure.ResourceManager.ApplicationInsights;
|
||||
|
||||
ArmClient client = new ArmClient(new DefaultAzureCredential());
|
||||
```
|
||||
|
||||
## Resource Hierarchy
|
||||
|
||||
```
|
||||
Subscription
|
||||
└── ResourceGroup
|
||||
└── ApplicationInsightsComponent # App Insights resource
|
||||
├── ApplicationInsightsComponentApiKey # API keys for programmatic access
|
||||
├── ComponentLinkedStorageAccount # Linked storage for data export
|
||||
└── (via component ID)
|
||||
├── WebTest # Availability tests
|
||||
├── Workbook # Workbooks for analysis
|
||||
├── WorkbookTemplate # Workbook templates
|
||||
└── MyWorkbook # Private workbooks
|
||||
```
|
||||
|
||||
## Core Workflows
|
||||
|
||||
### 1. Create Application Insights Component (Workspace-based)
|
||||
|
||||
```csharp
|
||||
using Azure.ResourceManager.ApplicationInsights;
|
||||
using Azure.ResourceManager.ApplicationInsights.Models;
|
||||
|
||||
ResourceGroupResource resourceGroup = await client
|
||||
.GetDefaultSubscriptionAsync()
|
||||
.Result
|
||||
.GetResourceGroupAsync("my-resource-group");
|
||||
|
||||
ApplicationInsightsComponentCollection components = resourceGroup.GetApplicationInsightsComponents();
|
||||
|
||||
// Workspace-based Application Insights (recommended)
|
||||
ApplicationInsightsComponentData data = new ApplicationInsightsComponentData(
|
||||
AzureLocation.EastUS,
|
||||
ApplicationInsightsApplicationType.Web)
|
||||
{
|
||||
Kind = "web",
|
||||
WorkspaceResourceId = new ResourceIdentifier(
|
||||
"/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.OperationalInsights/workspaces/<workspace-name>"),
|
||||
IngestionMode = IngestionMode.LogAnalytics,
|
||||
PublicNetworkAccessForIngestion = PublicNetworkAccessType.Enabled,
|
||||
PublicNetworkAccessForQuery = PublicNetworkAccessType.Enabled,
|
||||
RetentionInDays = 90,
|
||||
SamplingPercentage = 100,
|
||||
DisableIPMasking = false,
|
||||
ImmediatePurgeDataOn30Days = false,
|
||||
Tags =
|
||||
{
|
||||
{ "environment", "production" },
|
||||
{ "application", "mywebapp" }
|
||||
}
|
||||
};
|
||||
|
||||
ArmOperation<ApplicationInsightsComponentResource> operation = await components
|
||||
.CreateOrUpdateAsync(WaitUntil.Completed, "my-appinsights", data);
|
||||
|
||||
ApplicationInsightsComponentResource component = operation.Value;
|
||||
|
||||
Console.WriteLine($"Component created: {component.Data.Name}");
|
||||
Console.WriteLine($"Instrumentation Key: {component.Data.InstrumentationKey}");
|
||||
Console.WriteLine($"Connection String: {component.Data.ConnectionString}");
|
||||
```
|
||||
|
||||
### 2. Get Connection String and Keys
|
||||
|
||||
```csharp
|
||||
ApplicationInsightsComponentResource component = await resourceGroup
|
||||
.GetApplicationInsightsComponentAsync("my-appinsights");
|
||||
|
||||
// Get connection string for SDK configuration
|
||||
string connectionString = component.Data.ConnectionString;
|
||||
string instrumentationKey = component.Data.InstrumentationKey;
|
||||
string appId = component.Data.AppId;
|
||||
|
||||
Console.WriteLine($"Connection String: {connectionString}");
|
||||
Console.WriteLine($"Instrumentation Key: {instrumentationKey}");
|
||||
Console.WriteLine($"App ID: {appId}");
|
||||
```
|
||||
|
||||
### 3. Create API Key
|
||||
|
||||
```csharp
|
||||
ApplicationInsightsComponentResource component = await resourceGroup
|
||||
.GetApplicationInsightsComponentAsync("my-appinsights");
|
||||
|
||||
ApplicationInsightsComponentApiKeyCollection apiKeys = component.GetApplicationInsightsComponentApiKeys();
|
||||
|
||||
// API key for reading telemetry
|
||||
ApplicationInsightsApiKeyContent keyContent = new ApplicationInsightsApiKeyContent
|
||||
{
|
||||
Name = "ReadTelemetryKey",
|
||||
LinkedReadProperties =
|
||||
{
|
||||
$"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{component.Data.Name}/api",
|
||||
$"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/{component.Data.Name}/agentconfig"
|
||||
}
|
||||
};
|
||||
|
||||
ApplicationInsightsComponentApiKeyResource apiKey = await apiKeys
|
||||
.CreateOrUpdateAsync(WaitUntil.Completed, keyContent);
|
||||
|
||||
Console.WriteLine($"API Key Name: {apiKey.Data.Name}");
|
||||
Console.WriteLine($"API Key: {apiKey.Data.ApiKey}"); // Only shown once!
|
||||
```
|
||||
|
||||
### 4. Create Web Test (Availability Test)
|
||||
|
||||
```csharp
|
||||
WebTestCollection webTests = resourceGroup.GetWebTests();
|
||||
|
||||
// URL Ping Test
|
||||
WebTestData urlPingTest = new WebTestData(AzureLocation.EastUS)
|
||||
{
|
||||
Kind = WebTestKind.Ping,
|
||||
SyntheticMonitorId = "webtest-ping-myapp",
|
||||
WebTestName = "Homepage Availability",
|
||||
Description = "Checks if homepage is available",
|
||||
IsEnabled = true,
|
||||
Frequency = 300, // 5 minutes
|
||||
Timeout = 120, // 2 minutes
|
||||
WebTestKind = WebTestKind.Ping,
|
||||
IsRetryEnabled = true,
|
||||
Locations =
|
||||
{
|
||||
new WebTestGeolocation { WebTestLocationId = "us-ca-sjc-azr" }, // West US
|
||||
new WebTestGeolocation { WebTestLocationId = "us-tx-sn1-azr" }, // South Central US
|
||||
new WebTestGeolocation { WebTestLocationId = "us-il-ch1-azr" }, // North Central US
|
||||
new WebTestGeolocation { WebTestLocationId = "emea-gb-db3-azr" }, // UK South
|
||||
new WebTestGeolocation { WebTestLocationId = "apac-sg-sin-azr" } // Southeast Asia
|
||||
},
|
||||
Configuration = new WebTestConfiguration
|
||||
{
|
||||
WebTest = """
|
||||
<WebTest Name="Homepage" Enabled="True" Timeout="120"
|
||||
xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Items>
|
||||
<Request Method="GET" Version="1.1" Url="https://myapp.example.com"
|
||||
ThinkTime="0" Timeout="120" ParseDependentRequests="False"
|
||||
FollowRedirects="True" RecordResult="True" Cache="False"
|
||||
ResponseTimeGoal="0" Encoding="utf-8" ExpectedHttpStatusCode="200" />
|
||||
</Items>
|
||||
</WebTest>
|
||||
"""
|
||||
},
|
||||
Tags =
|
||||
{
|
||||
{ $"hidden-link:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/my-appinsights", "Resource" }
|
||||
}
|
||||
};
|
||||
|
||||
ArmOperation<WebTestResource> operation = await webTests
|
||||
.CreateOrUpdateAsync(WaitUntil.Completed, "webtest-homepage", urlPingTest);
|
||||
|
||||
WebTestResource webTest = operation.Value;
|
||||
Console.WriteLine($"Web test created: {webTest.Data.Name}");
|
||||
```
|
||||
|
||||
### 5. Create Multi-Step Web Test
|
||||
|
||||
```csharp
|
||||
WebTestData multiStepTest = new WebTestData(AzureLocation.EastUS)
|
||||
{
|
||||
Kind = WebTestKind.MultiStep,
|
||||
SyntheticMonitorId = "webtest-multistep-login",
|
||||
WebTestName = "Login Flow Test",
|
||||
Description = "Tests login functionality",
|
||||
IsEnabled = true,
|
||||
Frequency = 900, // 15 minutes
|
||||
Timeout = 300, // 5 minutes
|
||||
WebTestKind = WebTestKind.MultiStep,
|
||||
IsRetryEnabled = true,
|
||||
Locations =
|
||||
{
|
||||
new WebTestGeolocation { WebTestLocationId = "us-ca-sjc-azr" }
|
||||
},
|
||||
Configuration = new WebTestConfiguration
|
||||
{
|
||||
WebTest = """
|
||||
<WebTest Name="LoginFlow" Enabled="True" Timeout="300"
|
||||
xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||
<Items>
|
||||
<Request Method="GET" Version="1.1" Url="https://myapp.example.com/login"
|
||||
ThinkTime="0" Timeout="60" />
|
||||
<Request Method="POST" Version="1.1" Url="https://myapp.example.com/api/auth"
|
||||
ThinkTime="0" Timeout="60">
|
||||
<Headers>
|
||||
<Header Name="Content-Type" Value="application/json" />
|
||||
</Headers>
|
||||
<Body>{"username":"testuser","password":"{{TestPassword}}"}</Body>
|
||||
</Request>
|
||||
</Items>
|
||||
</WebTest>
|
||||
"""
|
||||
},
|
||||
Tags =
|
||||
{
|
||||
{ $"hidden-link:/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/components/my-appinsights", "Resource" }
|
||||
}
|
||||
};
|
||||
|
||||
await webTests.CreateOrUpdateAsync(WaitUntil.Completed, "webtest-login-flow", multiStepTest);
|
||||
```
|
||||
|
||||
### 6. Create Workbook
|
||||
|
||||
```csharp
|
||||
WorkbookCollection workbooks = resourceGroup.GetWorkbooks();
|
||||
|
||||
WorkbookData workbookData = new WorkbookData(AzureLocation.EastUS)
|
||||
{
|
||||
DisplayName = "Application Performance Dashboard",
|
||||
Category = "workbook",
|
||||
Kind = WorkbookSharedTypeKind.Shared,
|
||||
SerializedData = """
|
||||
{
|
||||
"version": "Notebook/1.0",
|
||||
"items": [
|
||||
{
|
||||
"type": 1,
|
||||
"content": {
|
||||
"json": "# Application Performance\n\nThis workbook shows application performance metrics."
|
||||
},
|
||||
"name": "header"
|
||||
},
|
||||
{
|
||||
"type": 3,
|
||||
"content": {
|
||||
"version": "KqlItem/1.0",
|
||||
"query": "requests\n| summarize count() by bin(timestamp, 1h)\n| render timechart",
|
||||
"size": 0,
|
||||
"title": "Requests per Hour",
|
||||
"timeContext": {
|
||||
"durationMs": 86400000
|
||||
},
|
||||
"queryType": 0,
|
||||
"resourceType": "microsoft.insights/components"
|
||||
},
|
||||
"name": "requestsChart"
|
||||
}
|
||||
],
|
||||
"isLocked": false
|
||||
}
|
||||
""",
|
||||
SourceId = component.Id,
|
||||
Tags =
|
||||
{
|
||||
{ "environment", "production" }
|
||||
}
|
||||
};
|
||||
|
||||
// Note: Workbook ID should be a new GUID
|
||||
string workbookId = Guid.NewGuid().ToString();
|
||||
|
||||
ArmOperation<WorkbookResource> operation = await workbooks
|
||||
.CreateOrUpdateAsync(WaitUntil.Completed, workbookId, workbookData);
|
||||
|
||||
WorkbookResource workbook = operation.Value;
|
||||
Console.WriteLine($"Workbook created: {workbook.Data.DisplayName}");
|
||||
```
|
||||
|
||||
### 7. Link Storage Account
|
||||
|
||||
```csharp
|
||||
ApplicationInsightsComponentResource component = await resourceGroup
|
||||
.GetApplicationInsightsComponentAsync("my-appinsights");
|
||||
|
||||
ComponentLinkedStorageAccountCollection linkedStorage = component.GetComponentLinkedStorageAccounts();
|
||||
|
||||
ComponentLinkedStorageAccountData storageData = new ComponentLinkedStorageAccountData
|
||||
{
|
||||
LinkedStorageAccount = new ResourceIdentifier(
|
||||
"/subscriptions/<sub-id>/resourceGroups/<rg>/providers/Microsoft.Storage/storageAccounts/<storage-account>")
|
||||
};
|
||||
|
||||
ArmOperation<ComponentLinkedStorageAccountResource> operation = await linkedStorage
|
||||
.CreateOrUpdateAsync(WaitUntil.Completed, StorageType.ServiceProfiler, storageData);
|
||||
```
|
||||
|
||||
### 8. List and Manage Components
|
||||
|
||||
```csharp
|
||||
// List all Application Insights components in resource group
|
||||
await foreach (ApplicationInsightsComponentResource component in
|
||||
resourceGroup.GetApplicationInsightsComponents())
|
||||
{
|
||||
Console.WriteLine($"Component: {component.Data.Name}");
|
||||
Console.WriteLine($" App ID: {component.Data.AppId}");
|
||||
Console.WriteLine($" Type: {component.Data.ApplicationType}");
|
||||
Console.WriteLine($" Ingestion Mode: {component.Data.IngestionMode}");
|
||||
Console.WriteLine($" Retention: {component.Data.RetentionInDays} days");
|
||||
}
|
||||
|
||||
// List web tests
|
||||
await foreach (WebTestResource webTest in resourceGroup.GetWebTests())
|
||||
{
|
||||
Console.WriteLine($"Web Test: {webTest.Data.WebTestName}");
|
||||
Console.WriteLine($" Enabled: {webTest.Data.IsEnabled}");
|
||||
Console.WriteLine($" Frequency: {webTest.Data.Frequency}s");
|
||||
}
|
||||
|
||||
// List workbooks
|
||||
await foreach (WorkbookResource workbook in resourceGroup.GetWorkbooks())
|
||||
{
|
||||
Console.WriteLine($"Workbook: {workbook.Data.DisplayName}");
|
||||
}
|
||||
```
|
||||
|
||||
### 9. Update Component
|
||||
|
||||
```csharp
|
||||
ApplicationInsightsComponentResource component = await resourceGroup
|
||||
.GetApplicationInsightsComponentAsync("my-appinsights");
|
||||
|
||||
// Update using full data (PUT operation)
|
||||
ApplicationInsightsComponentData updateData = component.Data;
|
||||
updateData.RetentionInDays = 180;
|
||||
updateData.SamplingPercentage = 50;
|
||||
updateData.Tags["updated"] = "true";
|
||||
|
||||
ArmOperation<ApplicationInsightsComponentResource> operation = await resourceGroup
|
||||
.GetApplicationInsightsComponents()
|
||||
.CreateOrUpdateAsync(WaitUntil.Completed, "my-appinsights", updateData);
|
||||
```
|
||||
|
||||
### 10. Delete Resources
|
||||
|
||||
```csharp
|
||||
// Delete Application Insights component
|
||||
ApplicationInsightsComponentResource component = await resourceGroup
|
||||
.GetApplicationInsightsComponentAsync("my-appinsights");
|
||||
await component.DeleteAsync(WaitUntil.Completed);
|
||||
|
||||
// Delete web test
|
||||
WebTestResource webTest = await resourceGroup.GetWebTestAsync("webtest-homepage");
|
||||
await webTest.DeleteAsync(WaitUntil.Completed);
|
||||
```
|
||||
|
||||
## Key Types Reference
|
||||
|
||||
| Type | Purpose |
|
||||
|------|---------|
|
||||
| `ApplicationInsightsComponentResource` | App Insights component |
|
||||
| `ApplicationInsightsComponentData` | Component configuration |
|
||||
| `ApplicationInsightsComponentCollection` | Collection of components |
|
||||
| `ApplicationInsightsComponentApiKeyResource` | API key for programmatic access |
|
||||
| `WebTestResource` | Availability/web test |
|
||||
| `WebTestData` | Web test configuration |
|
||||
| `WorkbookResource` | Analysis workbook |
|
||||
| `WorkbookData` | Workbook configuration |
|
||||
| `ComponentLinkedStorageAccountResource` | Linked storage for exports |
|
||||
|
||||
## Application Types
|
||||
|
||||
| Type | Enum Value |
|
||||
|------|------------|
|
||||
| Web Application | `Web` |
|
||||
| iOS Application | `iOS` |
|
||||
| Java Application | `Java` |
|
||||
| Node.js Application | `NodeJS` |
|
||||
| .NET Application | `MRT` |
|
||||
| Other | `Other` |
|
||||
|
||||
## Web Test Locations
|
||||
|
||||
| Location ID | Region |
|
||||
|-------------|--------|
|
||||
| `us-ca-sjc-azr` | West US |
|
||||
| `us-tx-sn1-azr` | South Central US |
|
||||
| `us-il-ch1-azr` | North Central US |
|
||||
| `us-va-ash-azr` | East US |
|
||||
| `emea-gb-db3-azr` | UK South |
|
||||
| `emea-nl-ams-azr` | West Europe |
|
||||
| `emea-fr-pra-edge` | France Central |
|
||||
| `apac-sg-sin-azr` | Southeast Asia |
|
||||
| `apac-hk-hkn-azr` | East Asia |
|
||||
| `apac-jp-kaw-edge` | Japan East |
|
||||
| `latam-br-gru-edge` | Brazil South |
|
||||
| `emea-au-syd-edge` | Australia East |
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Use workspace-based** — Workspace-based App Insights is the current standard
|
||||
2. **Link to Log Analytics** — Store data in Log Analytics for better querying
|
||||
3. **Set appropriate retention** — Balance cost vs. data availability
|
||||
4. **Use sampling** — Reduce costs for high-volume applications
|
||||
5. **Store connection string securely** — Use Key Vault or managed identity
|
||||
6. **Enable multiple test locations** — For accurate availability monitoring
|
||||
7. **Use workbooks** — For custom dashboards and analysis
|
||||
8. **Set up alerts** — Based on availability tests and metrics
|
||||
9. **Tag resources** — For cost allocation and organization
|
||||
10. **Use private endpoints** — For secure data ingestion
|
||||
|
||||
## Error Handling
|
||||
|
||||
```csharp
|
||||
using Azure;
|
||||
|
||||
try
|
||||
{
|
||||
ArmOperation<ApplicationInsightsComponentResource> operation = await components
|
||||
.CreateOrUpdateAsync(WaitUntil.Completed, "my-appinsights", data);
|
||||
}
|
||||
catch (RequestFailedException ex) when (ex.Status == 409)
|
||||
{
|
||||
Console.WriteLine("Component already exists");
|
||||
}
|
||||
catch (RequestFailedException ex) when (ex.Status == 400)
|
||||
{
|
||||
Console.WriteLine($"Invalid configuration: {ex.Message}");
|
||||
}
|
||||
catch (RequestFailedException ex)
|
||||
{
|
||||
Console.WriteLine($"Azure error: {ex.Status} - {ex.Message}");
|
||||
}
|
||||
```
|
||||
|
||||
## SDK Integration
|
||||
|
||||
Use the connection string with Application Insights SDK:
|
||||
|
||||
```csharp
|
||||
// Program.cs in ASP.NET Core
|
||||
builder.Services.AddApplicationInsightsTelemetry(options =>
|
||||
{
|
||||
options.ConnectionString = configuration["ApplicationInsights:ConnectionString"];
|
||||
});
|
||||
|
||||
// Or set via environment variable
|
||||
// APPLICATIONINSIGHTS_CONNECTION_STRING=InstrumentationKey=...;IngestionEndpoint=...
|
||||
```
|
||||
|
||||
## Related SDKs
|
||||
|
||||
| SDK | Purpose | Install |
|
||||
|-----|---------|---------|
|
||||
| `Azure.ResourceManager.ApplicationInsights` | Resource management (this SDK) | `dotnet add package Azure.ResourceManager.ApplicationInsights` |
|
||||
| `Microsoft.ApplicationInsights` | Telemetry SDK | `dotnet add package Microsoft.ApplicationInsights` |
|
||||
| `Microsoft.ApplicationInsights.AspNetCore` | ASP.NET Core integration | `dotnet add package Microsoft.ApplicationInsights.AspNetCore` |
|
||||
| `Azure.Monitor.OpenTelemetry.Exporter` | OpenTelemetry export | `dotnet add package Azure.Monitor.OpenTelemetry.Exporter` |
|
||||
|
||||
## Reference Links
|
||||
|
||||
| Resource | URL |
|
||||
|----------|-----|
|
||||
| NuGet Package | https://www.nuget.org/packages/Azure.ResourceManager.ApplicationInsights |
|
||||
| API Reference | https://learn.microsoft.com/dotnet/api/azure.resourcemanager.applicationinsights |
|
||||
| Product Documentation | https://learn.microsoft.com/azure/azure-monitor/app/app-insights-overview |
|
||||
| GitHub Source | https://github.com/Azure/azure-sdk-for-net/tree/main/sdk/applicationinsights/Azure.ResourceManager.ApplicationInsights |
|
||||
Reference in New Issue
Block a user