Method Tracing
SkySignal automatically tracks all Meteor Method calls, providing detailed performance insights.
What Gets Tracked
For each Method call, SkySignal captures:
| Field | Description |
|---|---|
methodName | The name of the Meteor Method |
responseTime | Total execution time in milliseconds |
arguments | Method arguments (configurable) |
error | Error details if the method failed |
userId | The user who called the method |
timestamp | When the method was called |
host | Which server handled the request |
Viewing Method Data
Methods Dashboard
Navigate to your site's Methods tab to see:
- Response Time Chart - Visualize response times over time
- Method List - See all tracked methods with metrics
- Slow Methods - Quickly identify performance bottlenecks
Method Details
Click on any method to see:
- Response time percentiles (p50, p95, p99)
- Error rate and recent errors
- Sample traces with arguments
- Historical trends
Configuration
Enable/Disable Method Tracking
SkySignal.init({
apiKey: '...',
trackMethods: true, // Enable (default)
});
Argument Capture
Control whether method arguments are captured:
SkySignal.init({
apiKey: '...',
captureMethodArgs: true, // Capture arguments
maxArgSize: 1024, // Max 1KB per argument
});
Ignore Specific Methods
Exclude methods from tracking:
SkySignal.init({
apiKey: '...',
ignoreMethods: [
'health.check', // Exact match
/^internal\./, // Regex: any method starting with 'internal.'
/\.heartbeat$/, // Regex: any method ending with '.heartbeat'
],
});
Redact Sensitive Data
Prevent sensitive arguments from being captured:
SkySignal.init({
apiKey: '...',
redactMethods: [
'users.login', // Don't capture login credentials
'payments.processCard', // Don't capture payment info
],
});
Performance Insights
Response Time Percentiles
SkySignal calculates percentile metrics:
- p50 - Median response time (50% of requests are faster)
- p95 - 95th percentile (95% of requests are faster)
- p99 - 99th percentile (99% of requests are faster)
Focus on p95/p99
Average response time can be misleading. Focus on p95 and p99 to understand the experience of your slowest users.
Identifying Slow Methods
Methods are flagged as "slow" when they exceed thresholds:
- Warning: > 500ms response time
- Critical: > 2000ms response time
Configure custom thresholds in your alert settings.
Best Practices
1. Name Methods Descriptively
Use clear, hierarchical naming:
// Good
Meteor.methods({
'users.profile.update': function() { ... },
'orders.checkout.process': function() { ... },
});
// Bad
Meteor.methods({
'update': function() { ... },
'process': function() { ... },
});
2. Don't Track Health Checks
Exclude health check endpoints to avoid noise:
ignoreMethods: ['health.check', 'ping']
3. Review Argument Capture
Be mindful of what arguments you capture:
- Passwords and tokens should always be redacted
- Large arguments increase data transfer
- Consider PII regulations (GDPR, etc.)
Troubleshooting
Methods Not Appearing
- Verify
trackMethods: truein your config - Check if the method is in
ignoreMethods - Ensure the agent is initialized before methods are defined
- Enable debug mode to see tracking logs
Arguments Not Captured
- Check
captureMethodArgs: true - Verify the method isn't in
redactMethods - Check if arguments exceed
maxArgSize
Next Steps
- Subscription Monitoring - Track DDP subscriptions
- Performance Optimization - Improve method performance
- Alerting - Set up alerts for slow methods