UNPKG

@ui18n/angular

Version:

🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+

137 lines 4.17 kB
/** * UI18n开发者统计信息服务 * 提供全面的翻译使用统计、性能监控和成本分析 */ import { DeveloperStats, LanguagePackStatus, StatsQuery, SupportedLanguage, TranslationResult } from './types'; import { FallbackErrorType } from './fallback-manager'; export interface StatsDataPoint { id: string; timestamp: Date; type: 'translation' | 'error' | 'cache_hit' | 'cache_miss'; text: string; sourceLanguage: SupportedLanguage; targetLanguage: SupportedLanguage; provider: 'aiProvider' | 'cloudService' | 'cache' | 'builtin'; responseTime: number; success: boolean; error?: { type: FallbackErrorType; message: string; }; cost?: { tokens: number; promptTokens: number; completionTokens: number; estimatedCost: number; }; metadata?: { batchId?: string; sessionId?: string; confidence?: number; [key: string]: any; }; } export interface CostCalculator { calculateCost(provider: string, tokens: number, model?: string): number; getTokenCount(text: string): number; } /** * 默认成本计算器 * 基于各大AI提供商的定价模型 */ export declare class DefaultCostCalculator implements CostCalculator { private readonly pricing; calculateCost(provider: string, tokens: number, model?: string): number; getTokenCount(text: string): number; } /** * 开发者统计信息服务 */ export declare class DeveloperStatsService { private dataPoints; private costCalculator; private maxDataPoints; private sessionId; constructor(options?: { costCalculator?: CostCalculator; maxDataPoints?: number; }); /** * 记录翻译请求 */ recordTranslation(text: string, sourceLanguage: SupportedLanguage, targetLanguage: SupportedLanguage, result: TranslationResult, metadata?: any): void; /** * 记录错误 */ recordError(text: string, sourceLanguage: SupportedLanguage, targetLanguage: SupportedLanguage, provider: string, errorType: FallbackErrorType, errorMessage: string, responseTime: number, metadata?: any): void; /** * 记录缓存命中 */ recordCacheHit(text: string, sourceLanguage: SupportedLanguage, targetLanguage: SupportedLanguage, responseTime?: number): void; /** * 记录缓存未命中 */ recordCacheMiss(text: string, sourceLanguage: SupportedLanguage, targetLanguage: SupportedLanguage): void; /** * 生成开发者统计报告 */ generateStats(query?: StatsQuery): Promise<DeveloperStats>; /** * 获取语言包状态 */ getLanguagePacksStatus(): Promise<LanguagePackStatus[]>; /** * 清理旧数据 */ cleanup(olderThan?: Date): void; /** * 导出统计数据 */ exportData(format?: 'json' | 'csv'): string; /** * 获取实时统计摘要 */ getRealTimeStats(): { activeRequests: number; requestsPerMinute: number; errorRate: number; avgResponseTime: number; cacheHitRate: number; estimatedHourlyCost: number; }; private addDataPoint; private filterData; private getTimeRange; private calculateTranslationStats; private calculatePerformanceStats; private calculateCacheStats; private calculateCostStats; private calculateLanguageStats; private calculateProviderStats; private calculateErrorStats; private calculatePatternStats; private exportToCsv; private generateId; private generateSessionId; /** * 获取使用统计信息 */ getUsageStats(): Promise<{ translations: { total: number; byLanguage: Record<string, number>; }; quality: { averageScore: number; }; performance: { averageResponseTime: number; }; costs: { total: number; byProvider: Record<string, number>; }; }>; } export declare const defaultStatsService: DeveloperStatsService; //# sourceMappingURL=developer-stats-service.d.ts.map