mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 08:26:21 +02:00
196 lines
4.9 KiB
Markdown
196 lines
4.9 KiB
Markdown
|
|
# tg-show-processor-state
|
||
|
|
|
||
|
|
## Synopsis
|
||
|
|
|
||
|
|
```
|
||
|
|
tg-show-processor-state [OPTIONS]
|
||
|
|
```
|
||
|
|
|
||
|
|
## Description
|
||
|
|
|
||
|
|
The `tg-show-processor-state` command displays the current state of TrustGraph processors by querying the metrics endpoint. It retrieves processor information from the Prometheus metrics API and displays active processors with visual status indicators.
|
||
|
|
|
||
|
|
This command is useful for:
|
||
|
|
- Monitoring processor health and availability
|
||
|
|
- Verifying that processors are running correctly
|
||
|
|
- Troubleshooting processor connectivity issues
|
||
|
|
- Getting a quick overview of active TrustGraph components
|
||
|
|
|
||
|
|
## Options
|
||
|
|
|
||
|
|
- `-m, --metrics-url URL`
|
||
|
|
- Metrics endpoint URL to query for processor information
|
||
|
|
- Default: `http://localhost:8088/api/metrics`
|
||
|
|
- Should point to a Prometheus-compatible metrics endpoint
|
||
|
|
|
||
|
|
- `-h, --help`
|
||
|
|
- Show help message and exit
|
||
|
|
|
||
|
|
## Examples
|
||
|
|
|
||
|
|
### Basic Usage
|
||
|
|
|
||
|
|
Display processor states using the default metrics URL:
|
||
|
|
```bash
|
||
|
|
tg-show-processor-state
|
||
|
|
```
|
||
|
|
|
||
|
|
### Custom Metrics URL
|
||
|
|
|
||
|
|
Query processor states from a different metrics endpoint:
|
||
|
|
```bash
|
||
|
|
tg-show-processor-state -m http://metrics.example.com:8088/api/metrics
|
||
|
|
```
|
||
|
|
|
||
|
|
### Remote Monitoring
|
||
|
|
|
||
|
|
Monitor processors on a remote TrustGraph instance:
|
||
|
|
```bash
|
||
|
|
tg-show-processor-state --metrics-url http://10.0.1.100:8088/api/metrics
|
||
|
|
```
|
||
|
|
|
||
|
|
## Output Format
|
||
|
|
|
||
|
|
The command displays processor information in a table format:
|
||
|
|
```
|
||
|
|
processor_name 💚
|
||
|
|
another_processor 💚
|
||
|
|
third_processor 💚
|
||
|
|
```
|
||
|
|
|
||
|
|
Each line shows:
|
||
|
|
- Processor name (left-aligned, 30 characters wide)
|
||
|
|
- Status indicator (💚 for active processors)
|
||
|
|
|
||
|
|
## Advanced Usage
|
||
|
|
|
||
|
|
### Monitoring Script
|
||
|
|
|
||
|
|
Create a monitoring script to periodically check processor states:
|
||
|
|
```bash
|
||
|
|
#!/bin/bash
|
||
|
|
while true; do
|
||
|
|
echo "=== Processor State Check ==="
|
||
|
|
date
|
||
|
|
tg-show-processor-state
|
||
|
|
echo
|
||
|
|
sleep 30
|
||
|
|
done
|
||
|
|
```
|
||
|
|
|
||
|
|
### Health Check Integration
|
||
|
|
|
||
|
|
Use in health check scripts:
|
||
|
|
```bash
|
||
|
|
#!/bin/bash
|
||
|
|
output=$(tg-show-processor-state 2>&1)
|
||
|
|
if [ $? -eq 0 ]; then
|
||
|
|
echo "Processors are running"
|
||
|
|
echo "$output"
|
||
|
|
else
|
||
|
|
echo "Error checking processor state: $output"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
```
|
||
|
|
|
||
|
|
### Multiple Environment Monitoring
|
||
|
|
|
||
|
|
Monitor processors across different environments:
|
||
|
|
```bash
|
||
|
|
#!/bin/bash
|
||
|
|
for env in dev staging prod; do
|
||
|
|
echo "=== $env Environment ==="
|
||
|
|
tg-show-processor-state -m "http://${env}-metrics:8088/api/metrics"
|
||
|
|
echo
|
||
|
|
done
|
||
|
|
```
|
||
|
|
|
||
|
|
## Error Handling
|
||
|
|
|
||
|
|
The command handles various error conditions:
|
||
|
|
|
||
|
|
- **Connection errors**: If the metrics endpoint is unavailable
|
||
|
|
- **Invalid JSON**: If the metrics response is malformed
|
||
|
|
- **Missing data**: If the expected processor_info metric is not found
|
||
|
|
- **HTTP errors**: If the metrics endpoint returns an error status
|
||
|
|
|
||
|
|
Common error scenarios:
|
||
|
|
```bash
|
||
|
|
# Metrics endpoint not available
|
||
|
|
tg-show-processor-state -m http://invalid-host:8088/api/metrics
|
||
|
|
# Output: Exception: [Connection error details]
|
||
|
|
|
||
|
|
# Invalid URL format
|
||
|
|
tg-show-processor-state -m "not-a-url"
|
||
|
|
# Output: Exception: [URL parsing error]
|
||
|
|
```
|
||
|
|
|
||
|
|
## Integration with Other Commands
|
||
|
|
|
||
|
|
### With Flow Monitoring
|
||
|
|
|
||
|
|
Combine with flow state monitoring:
|
||
|
|
```bash
|
||
|
|
echo "=== Processor States ==="
|
||
|
|
tg-show-processor-state
|
||
|
|
echo
|
||
|
|
echo "=== Flow States ==="
|
||
|
|
tg-show-flow-state
|
||
|
|
```
|
||
|
|
|
||
|
|
### With Configuration Display
|
||
|
|
|
||
|
|
Check processors and current configuration:
|
||
|
|
```bash
|
||
|
|
echo "=== Active Processors ==="
|
||
|
|
tg-show-processor-state
|
||
|
|
echo
|
||
|
|
echo "=== Current Configuration ==="
|
||
|
|
tg-show-config
|
||
|
|
```
|
||
|
|
|
||
|
|
## Best Practices
|
||
|
|
|
||
|
|
1. **Regular Monitoring**: Include in regular health check routines
|
||
|
|
2. **Error Handling**: Always check command exit status in scripts
|
||
|
|
3. **Logging**: Capture output for historical analysis
|
||
|
|
4. **Alerting**: Set up alerts based on processor availability
|
||
|
|
5. **Documentation**: Keep track of expected processors for each environment
|
||
|
|
|
||
|
|
## Troubleshooting
|
||
|
|
|
||
|
|
### No Processors Shown
|
||
|
|
|
||
|
|
If no processors are displayed:
|
||
|
|
1. Verify the metrics endpoint is accessible
|
||
|
|
2. Check that TrustGraph processors are running
|
||
|
|
3. Ensure processors are properly configured to export metrics
|
||
|
|
4. Verify the metrics URL is correct
|
||
|
|
|
||
|
|
### Connection Issues
|
||
|
|
|
||
|
|
For connection problems:
|
||
|
|
1. Test network connectivity to the metrics endpoint
|
||
|
|
2. Verify the metrics service is running
|
||
|
|
3. Check firewall rules and network policies
|
||
|
|
4. Ensure the correct port is being used
|
||
|
|
|
||
|
|
### Metrics Format Issues
|
||
|
|
|
||
|
|
If the command fails with JSON parsing errors:
|
||
|
|
1. Verify the metrics endpoint returns Prometheus-compatible data
|
||
|
|
2. Check that the `processor_info` metric exists
|
||
|
|
3. Ensure the metrics service is properly configured
|
||
|
|
|
||
|
|
## Related Commands
|
||
|
|
|
||
|
|
- [`tg-show-flow-state`](tg-show-flow-state.md) - Display flow processor states
|
||
|
|
- [`tg-show-config`](tg-show-config.md) - Show TrustGraph configuration
|
||
|
|
- [`tg-show-token-costs`](tg-show-token-costs.md) - Display token usage costs
|
||
|
|
- [`tg-show-library-processing`](tg-show-library-processing.md) - Show library processing status
|
||
|
|
|
||
|
|
## See Also
|
||
|
|
|
||
|
|
- TrustGraph Processor Documentation
|
||
|
|
- Prometheus Metrics Configuration
|
||
|
|
- TrustGraph Monitoring Guide
|