recordCategorizationUsage method
Record categorization usage
Implementation
Future<void> recordCategorizationUsage({
required int totalPackages,
required int categorizedPackages,
required int cacheHits,
required int firestoreHits,
required int fallbackHits,
required int heuristicHits,
required int overrideCount,
}) async {
if (!enabled) return;
try {
final payload = {
'event': 'categorization_usage',
'timestamp': DateTime.now().toIso8601String(),
'data': {
'total_packages': totalPackages,
'categorized_packages': categorizedPackages,
'cache_hits': cacheHits,
'firestore_hits': firestoreHits,
'fallback_hits': fallbackHits,
'heuristic_hits': heuristicHits,
'override_count': overrideCount,
},
'version': '1.0.1',
};
await http
.post(
Uri.parse('$apiEndpoint/events'),
headers: {
'Content-Type': 'application/json',
'User-Agent':
'SmartPub/1.0 (+https://github.com/VatsalJaganwala/smartpub)',
},
body: jsonEncode(payload),
)
.timeout(const Duration(seconds: 5));
} catch (e) {
// Silently fail - telemetry should never interfere with functionality
}
}