func CacheAddRequestSubscope(parent tally.Scope, aggregatedKey string) tally.Scope {
	return parent.SubScope(ScopeCacheAdd).Tagged(map[string]string{TagName: aggregatedKey})
}
CacheAddRequestSubscope gets the cache add request subscope and adds the aggregated key
as a point tag.
ex: .cache.add_request+key=$aggregated_key
package metrics
import (
	"github.com/uber-go/tally"
)
const TagName = "key"
const (
	ScopeServer = "server"
	ServerAlive = "alive"  
)
const (
	ScopeOrchestrator = "orchestrator"
	ScopeOrchestratorWatch       = "watch"
	OrchestratorWatchCreated     = "created"       
	OrchestratorNackWatchCreated = "created_nack"  
	OrchestratorWatchCanceled    = "canceled"      
	OrchestratorWatchFanouts     = "fanout"        
	OrchestratorWatchDequeued    = "dequeued"      
	ScopeOrchestratorCacheEvict            = "cache_evict"
	OrcheestratorCacheEvictCount           = "calls"             
	OrchestratorOnCacheEvictedRequestCount = "requests_evicted"  
	ScopeOrchestratorWatchErrors = "errors"
	ErrorRegisterWatch           = "register"      
	ErrorChannelFull             = "channel_full"  
	ErrorUpstreamFailure         = "upstream"      
	ErrorCacheMiss               = "cache_miss"    
	TimerSendTime   = "send"    
	TimerFanoutTime = "fanout"  
)
const (
	ScopeUpstream = "upstream"
	ScopeUpstreamLDS = "lds"
	ScopeUpstreamCDS = "cds"
	ScopeUpstreamRDS = "rds"
	ScopeUpstreamEDS = "eds"
	UpstreamStreamOpened = "stream_opened"  
	UpstreamStreamRetry = "stream_retry"  
	UpstreamStreamCreationFailure = "stream_failure"  
	UpstreamConnected = "connected"
)
const (
	ScopeCache = "cache"
	ScopeCacheFetch   = "fetch"
	CacheFetchAttempt = "attempt"  
	CacheFetchMiss    = "miss"     
	CacheFetchError   = "error"    
	CacheFetchExpired = "expired"  
	ScopeCacheSet   = "set_response"
	CacheSetAttempt = "attempt"  
	CacheSetSuccess = "success"  
	CacheSetError   = "error"    
	ScopeCacheAdd   = "add_request"
	CacheAddAttempt = "attempt"  
	CacheAddSuccess = "success"  
	CacheAddError   = "error"    
	ScopeCacheDelete   = "delete_request"
	CacheDeleteAttempt = "attempt"  
	CacheDeleteSuccess = "success"  
	CacheDeleteError   = "error"    
	ScopeCacheDeleteKey   = "delete_key"
	CacheDeleteKeyAttempt = "attempt"  
	CacheDeleteKeySuccess = "success"  
	CacheDeleteKeyError   = "error"    
)
const (
	ScopeMapper = "mapper"
	MapperSuccess = "success"  
	MapperError   = "error"    
)
const (
	ScopeErrorInterceptor = "error_interceptor"
	ErrorInterceptorErrorSendMsg = "error_sendmsg"
	ErrorInterceptorErrorRecvMsg = "error_recvmsg"
)
func OrchestratorWatchSubscope(parent tally.Scope, aggregatedKey string) tally.Scope {
	return parent.SubScope(ScopeOrchestratorWatch).Tagged(map[string]string{TagName: aggregatedKey})
}
func OrchestratorWatchErrorsSubscope(parent tally.Scope, aggregatedKey string) tally.Scope {
	watchErrorsSubScope := parent.SubScope(ScopeOrchestratorWatch).SubScope(ScopeOrchestratorWatchErrors)
	return watchErrorsSubScope.Tagged(map[string]string{TagName: aggregatedKey})
}
func OrchestratorCacheEvictSubscope(parent tally.Scope, aggregatedKey string) tally.Scope {
	return parent.SubScope(ScopeOrchestratorCacheEvict).Tagged(map[string]string{TagName: aggregatedKey})
}
func CacheFetchSubscope(parent tally.Scope, aggregatedKey string) tally.Scope {
	return parent.SubScope(ScopeCacheFetch).Tagged(map[string]string{TagName: aggregatedKey})
}
func CacheSetSubscope(parent tally.Scope, aggregatedKey string) tally.Scope {
	return parent.SubScope(ScopeCacheSet).Tagged(map[string]string{TagName: aggregatedKey})
}