bc-code-intelligence-mcp
Version:
BC Code Intelligence MCP Server - Complete Specialist Bundle with AI-driven expert consultation, seamless handoffs, and context-preserving workflows
161 lines (121 loc) • 5.62 kB
Markdown
---
title: "Performance Analysis Without Telemetry Data"
domain: "dean-debug"
difficulty: "intermediate"
bc_versions: "14+"
tags: ["telemetry", "performance", "tooling", "recommendations"]
conditional_mcp_missing: "bc-telemetry-buddy"
estimated_time: "5 minutes"
last_updated: "2025-10-27"
---
# Performance Analysis Without Telemetry Data
## ⚠️ Current Limitation
I notice you don't have **BC Telemetry Buddy** configured in your MCP environment. While I can provide theoretical performance guidance based on BC best practices, I'm working **without real performance data** from your specific environment.
## What You're Missing
### Data-Driven Performance Insights
Without telemetry access, I cannot provide:
- ✅ **Real query execution times** from your production or test environments
- ✅ **Actual database performance metrics** showing bottlenecks
- ✅ **Customer-specific telemetry analysis** for multi-tenant scenarios
- ✅ **Production event tracking** to identify real-world issues
- ✅ **SQL execution patterns** from actual AL code execution
- ✅ **Page rendering performance** with real timing data
- ✅ **Report generation metrics** showing actual processing times
### Example: What Telemetry Data Shows
**Instead of saying:**
> "Database queries might be slow - consider adding SIFT keys"
**I could say:**
> "I found 47 database calls in your Sales Order page taking over 2 seconds each. The Item Ledger Entry queries are causing 80% of your performance issues. Here are the specific SIFT keys that will eliminate this bottleneck: FlowField X needs [Field1, Field2, Field3]"
## Why BC Telemetry Buddy is Valuable
### Real-Time Performance Analysis
- **Discovery-First Workflow**: Find what events are actually being logged
- **Field Sampling**: See actual data values before querying
- **Targeted KQL Queries**: Query exactly what you need
- **Query Library**: Save and reuse performance queries
- **External Context**: Access BCTech sample queries
### 11 Powerful MCP Tools
1. **Discovery Tools**
- `bctb_get_event_catalog` - Browse available telemetry events
- `bctb_get_event_field_samples` - Sample field values before querying
- `bctb_get_event_schema` - Understand event structure
- `bctb_get_categories` - Event categorization
2. **Query Tools**
- `bctb_query_telemetry` - Execute KQL queries against real data
- `bctb_get_tenant_mapping` - Multi-customer analysis
3. **Library Tools**
- `bctb_get_saved_queries` - Access saved query patterns
- `bctb_search_queries` - Find relevant queries
- `bctb_save_query` - Save useful patterns
- `bctb_get_external_queries` - BCTech community queries
4. **Analysis Tools**
- `bctb_get_recommendations` - AI-driven performance recommendations
## Installation Instructions
### 1. Install BC Telemetry Buddy MCP Server
Add to your MCP settings (VS Code: `.vscode/settings.json`):
```json
{
"mcp.servers": {
"bc-telemetry-buddy": {
"command": "npx",
"args": ["bc-telemetry-buddy"]
}
}
}
```
Or for Claude Desktop (`claude_desktop_config.json`):
```json
{
"mcpServers": {
"bc-telemetry-buddy": {
"command": "npx",
"args": ["bc-telemetry-buddy"]
}
}
}
```
### 2. Configure Telemetry Access
BC Telemetry Buddy needs access to your Application Insights or Kusto query environment. Follow the setup guide at:
https://github.com/waldo1001/waldo.BCTelemetryBuddy
### 3. Update Workspace Configuration
Once installed, let me know it's available:
```json
{
"tool": "set_workspace_info",
"arguments": {
"path": "C:\\Your\\Workspace\\Path",
"available_mcps": ["bc-telemetry-buddy"]
}
}
```
**Dynamic Knowledge Loading**: Once you report BC Telemetry Buddy as available, I'll automatically gain access to data-driven analysis capabilities without requiring an MCP server restart!
## Fallback: Theoretical Guidance
Until you have telemetry access, I can still help with:
### Performance Best Practices
- SIFT key design principles
- Query optimization patterns
- Caching strategies
- Background processing approaches
### Code Review Guidance
- Anti-patterns that typically cause performance issues
- FlowField design recommendations
- Table relationship optimization
- Report design best practices
### Proactive Recommendations
- "Based on your code, this pattern *typically* causes issues..."
- "Industry standard is to add SIFT keys for these fields..."
- "Consider testing with large datasets to verify performance..."
## The Difference
### Theoretical (Current)
> "FlowFields can be slow. Consider adding SIFT keys for commonly filtered fields."
### Data-Driven (With Telemetry)
> "Your Customer.Balance FlowField is queried 1,847 times per hour with 94% using Status filter. Adding SIFT key [Status,Posting Date] will reduce execution time from 2.4s to 120ms - a 20x improvement."
## Next Steps
1. **Install BC Telemetry Buddy** following instructions above
2. **Configure telemetry access** to your BC environment
3. **Update workspace info** to report MCP availability
4. **Ask me the same performance question again** - you'll get data-driven insights!
## See Also
- [BC Telemetry Buddy GitHub](https://github.com/waldo1001/waldo.BCTelemetryBuddy)
- [Performance Profiling](./performance-profiling.md) - Theoretical guidance
- [Database Optimization](./database-optimization.md) - Best practices
- [Caching Strategies](./caching-strategies.md) - BC caching patterns