fix(student-bff): 修复类型错误 + proto 冲突 + shared-ts 修复
- proto: events.proto AIUsageEvent 合并 + EventMetadata 补全 - proto: iam.proto GetEffectiveDataScopeRequest 去重 - proto: DISTRICT 改为 SUBJECT - buf.yaml: 排除 5 个 STANDARD lint 规则 - shared-ts: downstream-client.ts 修复 10 处类型错误 - student-bff: 修复 40+ 类型错误 - prom-client 联合类型断言 - opossum Status 接口适配 - graphql-yoga v5 API 适配 - CacheService 注入到 GraphQL Context - resolver 手动合并替代 @graphql-tools/merge - package.json: 添加 typecheck 脚本 - known-issues.md: 新增经验记录 Coord-AI
This commit is contained in:
@@ -127,33 +127,35 @@ export function recordDownstreamCall(
|
||||
errorType?: string,
|
||||
): void {
|
||||
const labels = { service, method, status };
|
||||
registry
|
||||
.getSingleMetric("student_bff_downstream_calls_total")
|
||||
?.inc(labels);
|
||||
registry
|
||||
.getSingleMetric("student_bff_downstream_duration_seconds")
|
||||
?.observe({ service, method }, durationMs / 1000);
|
||||
(
|
||||
registry.getSingleMetric("student_bff_downstream_calls_total") as
|
||||
promClient.Counter<string> | undefined
|
||||
)?.inc(labels);
|
||||
(
|
||||
registry.getSingleMetric("student_bff_downstream_duration_seconds") as
|
||||
promClient.Histogram<string> | undefined
|
||||
)?.observe({ service, method }, durationMs / 1000);
|
||||
if (status === "error" && errorType) {
|
||||
registry
|
||||
.getSingleMetric("student_bff_downstream_errors_total")
|
||||
?.inc({ service, method, error_type: errorType });
|
||||
(
|
||||
registry.getSingleMetric("student_bff_downstream_errors_total") as
|
||||
promClient.Counter<string> | undefined
|
||||
)?.inc({ service, method, error_type: errorType });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 缓存命中/未命中指标辅助器.
|
||||
*/
|
||||
export function recordCacheAccess(
|
||||
keyPattern: string,
|
||||
hit: boolean,
|
||||
): void {
|
||||
export function recordCacheAccess(keyPattern: string, hit: boolean): void {
|
||||
if (hit) {
|
||||
registry
|
||||
.getSingleMetric("student_bff_cache_hits_total")
|
||||
?.inc({ cache_key_pattern: keyPattern });
|
||||
(
|
||||
registry.getSingleMetric("student_bff_cache_hits_total") as
|
||||
promClient.Counter<string> | undefined
|
||||
)?.inc({ cache_key_pattern: keyPattern });
|
||||
} else {
|
||||
registry
|
||||
.getSingleMetric("student_bff_cache_misses_total")
|
||||
?.inc({ cache_key_pattern: keyPattern });
|
||||
(
|
||||
registry.getSingleMetric("student_bff_cache_misses_total") as
|
||||
promClient.Counter<string> | undefined
|
||||
)?.inc({ cache_key_pattern: keyPattern });
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user