Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This tutorial provides guidance for Fabric Extensibility Toolkit developers on how to support their customers. It covers best practices for maintaining, saving, and correlating important request headers, as well as recommendations for logging, monitoring, and support.
Overview
The Fabric Extensibility Toolkit enables developers to create workloads that integrate seamlessly with the Microsoft Fabric platform. This document outlines the supportability practices that developers should follow to ensure effective troubleshooting and customer support.
Request Headers
Fabric exposes two important headers in requests made between customers and Fabric, which are crucial for supportability:
- ActivityId: A globally unique ID that can be used by you, the developer, to correlate the request with your systems when a Fabric user interacts with your workload.
- RequestId: A globally unique ID that helps Fabric to correlate your request with platform traces, which will help investigate issues and provide assistance. If you cannot determine the issue on your end using the
ActivityId, you can provide theRequestIdto Fabric support when reporting an issue. Ensure that you maintain and save theRequestIdso it can be easily provided later.
Best Practices for Supportability
To effectively support your customers, it is essential to maintain, save, and correlate these IDs. Here are some best practices:
1. Logging
- Retention of Logs: Ensure that logs are retained for a sufficient period to allow for effective troubleshooting.
- Detailed Logging: Include the
ActivityIdandRequestIdin all relevant log entries. This will help you trace the flow of a request through your system. - Application Insights Integration: For Azure-hosted workloads, consider integrating with Azure Application Insights to automatically capture telemetry and correlation IDs.
2. Monitoring
- Real-time Monitoring: Implement real-time monitoring to detect and alert on issues as they occur. This includes monitoring request rates, error rates, and system performance.
- Correlation with Headers: Ensure that your monitoring tools can correlate logs and metrics using the
ActivityIdandRequestId. This will help you quickly identify and diagnose issues. - Azure Monitor: Consider using Azure Monitor for comprehensive monitoring and alerting capabilities.
3. Support
- Customer Support: Train your support team to ask for the
ActivityIdandRequestIdwhen dealing with customer issues. This will expedite the troubleshooting process. - Documentation: Provide clear documentation to your customers on how to obtain and use these IDs when reporting issues.
- Escalation Process: Establish clear procedures for escalating issues to Fabric support using the
RequestIdwhen platform-level investigation is needed.
Example Workflow
- Log Entry: When a request is received, log the
ActivityIdandRequestIdalong with other relevant information. - Monitor: Use monitoring tools to track the request in real time, correlating with the IDs.
- Troubleshoot: If an issue arises, use the
ActivityIdandRequestIdto trace the request through your logs and systems. - Support: When a customer reports an issue, ask for the
ActivityIdandRequestIdto quickly locate the relevant logs and provide assistance. If the issue cannot be determined on your end, provide theRequestIdto Fabric support for further investigation.
Implementation Considerations
For Frontend-Only Workloads
- Extract correlation headers from the workload client context when available
- Pass correlation IDs to any external API calls your workload makes
- Include correlation IDs in browser console logs for debugging
For Workloads with Backend Components
- Propagate correlation headers through your service architecture
- Implement structured logging that includes correlation IDs
- Set up monitoring dashboards that can filter by correlation IDs
Azure Integration
- Application Insights: Automatically captures request correlation and provides built-in dashboards
- Azure Log Analytics: Query logs using correlation IDs for troubleshooting
- Azure Alerts: Set up alerts based on error patterns or performance metrics
Customer Support Guidelines
For Your Customers
Provide customers with clear instructions on how to report issues:
- Activity ID: Can often be found in browser developer tools console logs
- Request ID: May be displayed in error messages or available through support tools
- Timestamp: When the issue occurred
- Context: What operation they were performing when the issue occurred
For Your Support Team
Train your support team to:
- Collect Correlation IDs: Always ask for
ActivityIdandRequestIdwhen investigating issues - Use Diagnostic Tools: Leverage your logging and monitoring systems to trace issues
- Escalate When Needed: Know when to escalate to Fabric support with the
RequestId - Document Solutions: Build a knowledge base of common issues and their correlation patterns
Conclusion
By following these best practices, developers can effectively support their customers on the Fabric platform, ensuring a seamless and efficient troubleshooting process. Proper logging, monitoring, request management, and support protocols are essential to maintaining high service quality and customer satisfaction.
For more detailed implementation guidance, refer to: