Documentation
¶
Overview ¶
Package grpcserver provides analytics gRPC service.
Package grpcserver provides gRPC compression service.
Index ¶
- Variables
- func CompressionService_Compress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, ...) (interface{}, error)
- func CompressionService_GetStats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, ...) (interface{}, error)
- func CompressionService_StreamCompress_Handler(srv interface{}, stream grpc.ServerStream) error
- func RegisterAnalyticsService(server *grpc.Server, tracker AnalyticsTracker, registry *LayerRegistry)
- func RegisterCompressionServiceServer(s *grpc.Server, srv *CompressionService)
- type AnalyticsServer
- func (s *AnalyticsServer) ExportAnalytics(ctx context.Context, req *ExportRequest) (*ExportResponse, error)
- func (s *AnalyticsServer) GetCompressionRatio(ctx context.Context, req *CompressionRatioRequest) (*CompressionRatioResponse, error)
- func (s *AnalyticsServer) GetCostAnalysis(ctx context.Context, req *CostAnalysisRequest) (*CostAnalysisResponse, error)
- func (s *AnalyticsServer) GetLayerPerformance(ctx context.Context, req *LayerPerformanceRequest) (*LayerPerformanceResponse, error)
- func (s *AnalyticsServer) GetUsageReport(ctx context.Context, req *UsageReportRequest) (*UsageReportResponse, error)
- func (s *AnalyticsServer) StreamRealtimeAnalytics(req *RealtimeStreamRequest, stream chan<- *RealtimeEvent) error
- type AnalyticsTracker
- type CompressRequest
- type CompressResponse
- type CompressionRatioRequest
- type CompressionRatioResponse
- type CompressionService
- func (s *CompressionService) Compress(ctx context.Context, req *CompressRequest) (*CompressResponse, error)
- func (s *CompressionService) GetStats(ctx context.Context, req *StatsRequest) (*StatsResponse, error)
- func (s *CompressionService) StreamCompress(stream CompressionService_StreamCompressServer) error
- type CompressionServiceServer
- type CompressionService_StreamCompressServer
- type CostAnalysisRequest
- type CostAnalysisResponse
- type DailyRecord
- type DailyUsage
- type ExportFormat
- type ExportRequest
- type ExportResponse
- type LayerInfo
- type LayerMetrics
- type LayerPerformanceRequest
- type LayerPerformanceResponse
- type LayerRegistry
- type LayerStat
- type RealtimeEvent
- type RealtimeStreamRequest
- type Server
- type StatsRequest
- type StatsResponse
- type UnimplementedCompressionServiceServer
- func (UnimplementedCompressionServiceServer) Compress(context.Context, *CompressRequest) (*CompressResponse, error)
- func (UnimplementedCompressionServiceServer) GetStats(context.Context, *StatsRequest) (*StatsResponse, error)
- func (UnimplementedCompressionServiceServer) StreamCompress(CompressionService_StreamCompressServer) error
- type UsageReportRequest
- type UsageReportResponse
Constants ¶
This section is empty.
Variables ¶
var CompressionService_ServiceDesc = grpc.ServiceDesc{ ServiceName: "tokman.CompressionService", HandlerType: (*CompressionService)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Compress", Handler: CompressionService_Compress_Handler, }, { MethodName: "GetStats", Handler: CompressionService_GetStats_Handler, }, }, Streams: []grpc.StreamDesc{ { StreamName: "StreamCompress", Handler: CompressionService_StreamCompress_Handler, ServerStreams: true, ClientStreams: true, }, }, Metadata: "compression.proto", }
CompressionService_ServiceDesc is the grpc.ServiceDesc.
Functions ¶
func CompressionService_Compress_Handler ¶
func CompressionService_Compress_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error)
Handler implementations.
func CompressionService_StreamCompress_Handler ¶
func CompressionService_StreamCompress_Handler(srv interface{}, stream grpc.ServerStream) error
func RegisterAnalyticsService ¶
func RegisterAnalyticsService(server *grpc.Server, tracker AnalyticsTracker, registry *LayerRegistry)
RegisterAnalyticsService registers the analytics service with a gRPC server.
func RegisterCompressionServiceServer ¶
func RegisterCompressionServiceServer(s *grpc.Server, srv *CompressionService)
RegisterCompressionServiceServer registers the service.
Types ¶
type AnalyticsServer ¶
type AnalyticsServer struct {
// contains filtered or unexported fields
}
AnalyticsServer implements the Analytics gRPC service.
func NewAnalyticsServer ¶
func NewAnalyticsServer(tracker AnalyticsTracker, registry *LayerRegistry) *AnalyticsServer
NewAnalyticsServer creates a new analytics server.
func (*AnalyticsServer) ExportAnalytics ¶
func (s *AnalyticsServer) ExportAnalytics(ctx context.Context, req *ExportRequest) (*ExportResponse, error)
ExportAnalytics exports analytics data in various formats.
func (*AnalyticsServer) GetCompressionRatio ¶
func (s *AnalyticsServer) GetCompressionRatio(ctx context.Context, req *CompressionRatioRequest) (*CompressionRatioResponse, error)
GetCompressionRatio returns compression ratio analysis.
func (*AnalyticsServer) GetCostAnalysis ¶
func (s *AnalyticsServer) GetCostAnalysis(ctx context.Context, req *CostAnalysisRequest) (*CostAnalysisResponse, error)
GetCostAnalysis returns cost estimation analytics.
func (*AnalyticsServer) GetLayerPerformance ¶
func (s *AnalyticsServer) GetLayerPerformance(ctx context.Context, req *LayerPerformanceRequest) (*LayerPerformanceResponse, error)
GetLayerPerformance returns layer performance metrics.
func (*AnalyticsServer) GetUsageReport ¶
func (s *AnalyticsServer) GetUsageReport(ctx context.Context, req *UsageReportRequest) (*UsageReportResponse, error)
GetUsageReport returns comprehensive usage analytics.
func (*AnalyticsServer) StreamRealtimeAnalytics ¶
func (s *AnalyticsServer) StreamRealtimeAnalytics(req *RealtimeStreamRequest, stream chan<- *RealtimeEvent) error
StreamRealtimeAnalytics streams real-time analytics data.
type AnalyticsTracker ¶
type AnalyticsTracker interface {
GetDailySavings(cmd string, days int) ([]DailyRecord, error)
GetLayerStats() map[string]LayerStat
TotalTokensSaved() int64
}
AnalyticsTracker interface for tracking data.
type CompressRequest ¶
type CompressRequest struct {
Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
Mode string `protobuf:"bytes,2,opt,name=mode,proto3" json:"mode,omitempty"`
Budget int32 `protobuf:"varint,3,opt,name=budget,proto3" json:"budget,omitempty"`
}
CompressRequest represents a compression request.
type CompressResponse ¶
type CompressResponse struct {
Compressed string `protobuf:"bytes,1,opt,name=compressed,proto3" json:"compressed,omitempty"`
OriginalTokens int32 `protobuf:"varint,2,opt,name=original_tokens,json=originalTokens,proto3" json:"original_tokens,omitempty"`
CompressedTokens int32 `protobuf:"varint,3,opt,name=compressed_tokens,json=compressedTokens,proto3" json:"compressed_tokens,omitempty"`
SavedTokens int32 `protobuf:"varint,4,opt,name=saved_tokens,json=savedTokens,proto3" json:"saved_tokens,omitempty"`
ReductionPercent float64 `protobuf:"fixed64,5,opt,name=reduction_percent,json=reductionPercent,proto3" json:"reduction_percent,omitempty"`
}
CompressResponse represents a compression response.
type CompressionRatioRequest ¶
type CompressionRatioRequest struct{}
CompressionRatioRequest requests compression stats
type CompressionRatioResponse ¶
type CompressionRatioResponse struct {
InputTokens int64
OutputTokens int64
TokensSaved int64
Ratio float64
SavingsPercentage float64
GeneratedAt int64
}
CompressionRatioResponse contains compression stats
type CompressionService ¶
type CompressionService struct {
UnimplementedCompressionServiceServer
}
CompressionService implements the gRPC compression service.
func (*CompressionService) Compress ¶
func (s *CompressionService) Compress(ctx context.Context, req *CompressRequest) (*CompressResponse, error)
Compress handles single compression requests.
func (*CompressionService) GetStats ¶
func (s *CompressionService) GetStats(ctx context.Context, req *StatsRequest) (*StatsResponse, error)
GetStats returns service statistics.
func (*CompressionService) StreamCompress ¶
func (s *CompressionService) StreamCompress(stream CompressionService_StreamCompressServer) error
StreamCompress handles streaming compression.
type CompressionServiceServer ¶
type CompressionServiceServer interface {
Compress(context.Context, *CompressRequest) (*CompressResponse, error)
StreamCompress(CompressionService_StreamCompressServer) error
GetStats(context.Context, *StatsRequest) (*StatsResponse, error)
}
CompressionServiceServer is the server API.
type CompressionService_StreamCompressServer ¶
type CompressionService_StreamCompressServer interface {
Recv() (*CompressRequest, error)
Send(*CompressResponse) error
grpc.ServerStream
}
CompressionService_StreamCompressServer is the server API for streaming.
type CostAnalysisRequest ¶
type CostAnalysisRequest struct {
ModelName string
}
CostAnalysisRequest requests cost estimation
type CostAnalysisResponse ¶
type CostAnalysisResponse struct {
TotalTokensSaved int64
CostPerMillion float64
Currency string
EstimatedSavings float64
MonthlyProjection float64
YearlyProjection float64
ModelName string
GeneratedAt int64
}
CostAnalysisResponse contains cost analysis
type DailyRecord ¶
DailyRecord represents daily tracking data.
type DailyUsage ¶
DailyUsage represents one day of usage
type ExportFormat ¶
type ExportFormat int32
ExportFormat defines export format type
const ( ExportFormat_JSON ExportFormat = iota ExportFormat_CSV ExportFormat_PROTO )
Export format constants
type ExportRequest ¶
type ExportRequest struct {
Format ExportFormat
}
ExportRequest requests data export
type ExportResponse ¶
ExportResponse contains exported data
type LayerMetrics ¶
LayerMetrics represents metrics for one layer
type LayerPerformanceRequest ¶
type LayerPerformanceRequest struct{}
LayerPerformanceRequest requests layer metrics
type LayerPerformanceResponse ¶
type LayerPerformanceResponse struct {
Layers []*LayerMetrics
GeneratedAt int64
}
LayerPerformanceResponse contains layer metrics
type LayerRegistry ¶
type LayerRegistry struct {
// contains filtered or unexported fields
}
LayerRegistry manages compression layers.
type RealtimeEvent ¶
type RealtimeEvent struct {
Timestamp int64
TotalTokensSaved int64
LayerMetrics map[string]*LayerMetrics
}
RealtimeEvent represents a realtime analytics event
type RealtimeStreamRequest ¶
type RealtimeStreamRequest struct {
IntervalSeconds int32
}
RealtimeStreamRequest configures realtime stream
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server provides gRPC server functionality.
type StatsResponse ¶
type StatsResponse struct {
TotalRequests int64 `protobuf:"varint,1,opt,name=total_requests,json=totalRequests,proto3" json:"total_requests,omitempty"`
TotalTokensSaved int64 `protobuf:"varint,2,opt,name=total_tokens_saved,json=totalTokensSaved,proto3" json:"total_tokens_saved,omitempty"`
}
StatsResponse represents stats response.
type UnimplementedCompressionServiceServer ¶
type UnimplementedCompressionServiceServer struct{}
UnimplementedCompressionServiceServer must be embedded for forward compatibility.
func (UnimplementedCompressionServiceServer) Compress ¶
func (UnimplementedCompressionServiceServer) Compress(context.Context, *CompressRequest) (*CompressResponse, error)
func (UnimplementedCompressionServiceServer) GetStats ¶
func (UnimplementedCompressionServiceServer) GetStats(context.Context, *StatsRequest) (*StatsResponse, error)
func (UnimplementedCompressionServiceServer) StreamCompress ¶
func (UnimplementedCompressionServiceServer) StreamCompress(CompressionService_StreamCompressServer) error
type UsageReportRequest ¶
type UsageReportRequest struct {
Days int32
}
UsageReportRequest requests usage data
type UsageReportResponse ¶
type UsageReportResponse struct {
PeriodDays int32
TotalTokensSaved int64
TotalCommands int64
DailyData []*DailyUsage
GeneratedAt int64
}
UsageReportResponse contains usage analytics