227
}
228
229
>
handler := shardContext.GetMetricsHandler().WithTags(
cache.go
230
>
metrics.OperationTag(metrics.HistoryCacheGetOrCreateScope),
231
>
metrics.CacheTypeTag(metrics.MutableStateCacheTypeTagValue),
232
>
metrics.NamespaceIDTag(namespaceID.String()),
233
>
)
234
>
metrics.CacheRequests.With(handler).Record(1)
235
>
start := time.Now()
236
>
defer func() { metrics.CacheLatency.With(handler).Record(time.Since(start)) }()
237
238
>
weCtx, weReleaseFunc, err := c.getOrCreateWorkflowExecutionInternal(
cache.go
239
>
ctx,
240
>
shardContext,
241
>
namespaceID,
242
>
execution,
243
>
archetypeID,
244
>
handler,
245
>
false,
246
>
lockPriority,
247
>
)
248
>
249
>
metrics.ContextCounterAdd(ctx, metrics.HistoryWorkflowExecutionCacheLatency.Name(),
250
>
time.Since(start).Nanoseconds())
251
>
252
>
return weCtx, weReleaseFunc, err
253
}
254