Skip to main content

Overview

Understanding log messages is crucial for diagnosing issues. This guide helps you interpret logs from each component and identify common error patterns.

Log Levels

All components use standard log levels:
LevelDescriptionExample
DEBUGDetailed diagnostic infoVariable values, function calls
INFONormal operation eventsRequest received, model loaded
WARNINGPotential issuesSlow response, retry attempt
ERRORError that needs attentionFailed request, connection error
CRITICALSevere errorService crash, unrecoverable error

Lightning ASR Logs

Successful Startup

Request Processing

Common Errors

Cause: GPU not available or drivers not installedSolution:
  • Check nvidia-smi works
  • Verify GPU device plugin (Kubernetes)
  • Check NVIDIA Container Toolkit (Docker)
Cause: Not enough GPU memorySolution:
  • Reduce concurrent requests
  • Use larger GPU (A10 vs T4)
  • Scale horizontally (more pods)
Cause: Network issues, invalid URL, disk fullSolution:
  • Verify MODEL_URL
  • Check disk space: df -h
  • Test URL: curl -I $MODEL_URL
  • Use shared storage (EFS)
Cause: Invalid audio fileSolution:
  • Verify audio format (WAV, MP3, FLAC supported)
  • Check file is not corrupted
  • Ensure proper sample rate (16kHz+)

API Server Logs

Successful Startup

Request Handling

Common Errors

Cause: Invalid, missing, or expired license keySolution:
  • Verify Authorization: Token <key> header
  • Check license key is correct
  • Renew expired license
Cause: All Lightning ASR pods busy or downSolution:
  • Check Lightning ASR pods: kubectl get pods
  • Scale up replicas
  • Check HPA configuration
Cause: Lightning ASR overloaded or crashedSolution:
  • Check Lightning ASR logs
  • Increase timeout
  • Scale up pods

License Proxy Logs

Successful Validation

Usage Reporting

Common Errors

Cause: Invalid or expired licenseSolution:
Cause: Network connectivity issueSolution:
  • Test: curl https://api.smallest.ai
  • Check firewall allows HTTPS
  • Restore connectivity before grace period expires
Cause: Extended network outageSolution:
  • Restore network connectivity immediately
  • Check firewall rules
  • Contact support if persistent

Redis Logs

Normal Operation

Common Errors

Solution:
  • Increase memory limit
  • Enable eviction policy
  • Clear old keys
Solution:
  • Increase disk space
  • Disable persistence if not needed
  • Clean up old snapshots

Log Pattern Analysis

Error Rate Analysis

Count errors in last 1000 lines:
Group errors by type:

Performance Analysis

Extract response times:
Calculate average:

Request Tracking

Follow a specific request ID:
Across all pods:

Log Aggregation

Using stern

Install stern:
Follow logs from all Lightning ASR pods:
Filter by pattern:

Using Loki (if installed)

Query logs via LogQL:

Structured Logging

Parse JSON Logs

If logs are in JSON format:

Filter by Field

Log Retention

Configure Log Rotation

Docker:
docker-compose.yml
Kubernetes:
Kubernetes automatically rotates logs via kubelet.

Export Logs

Save logs for analysis:

Debugging Log Issues

No Logs Appearing

Check pod is running:
Check stdout/stderr:

Logs Truncated

Increase log size limits:

Best Practices

Prefer JSON format for easier parsing:
Always include relevant context in logs:
  • Request ID
  • Component name
  • Timestamp
  • User/session info (if applicable)
Use correct log levels:
  • DEBUG: Development only
  • INFO: Normal operation
  • WARNING: Potential issues
  • ERROR: Actual problems
  • CRITICAL: Service-breaking issues
Use centralized logging:
  • ELK Stack (Elasticsearch, Logstash, Kibana)
  • Loki + Grafana
  • CloudWatch Logs (AWS)
  • Cloud Logging (GCP)

What’s Next?

Common Issues

Quick solutions to frequent problems

Debugging Guide

Advanced debugging techniques