func (d serviceRoleTag) Key() string {
	return ServiceRoleTagName
}
Key returns the key of the service role tag
package metrics
const (
	gitRevisionTag   = "git_revision"
	gitBranchTag     = "git_branch"
	buildDateTag     = "build_date"
	gitTagTag        = "git_tag"
	buildVersionTag  = "build_version"
	buildPlatformTag = "build_platform"
	goVersionTag     = "go_version"
	instance      = "instance"
	namespace     = "namespace"
	targetCluster = "target_cluster"
	taskQueue     = "taskqueue"
	workflowType  = "workflowType"
	activityType  = "activityType"
	commandType   = "commandType"
	namespaceAllValue = "all"
	unknownValue      = "_unknown_"
	totalMetricSuffix = "_total"
)
type Tag interface {
	Key() string
	Value() string
}
var StickyTaskQueueTag = TaskQueueTag("__sticky__")
type (
	namespaceTag struct {
		value string
	}
	namespaceUnknownTag struct{}
	taskQueueUnknownTag struct{}
	instanceTag struct {
		value string
	}
	targetClusterTag struct {
		value string
	}
	taskQueueTag struct {
		value string
	}
	workflowTypeTag struct {
		value string
	}
	activityTypeTag struct {
		value string
	}
	commandTypeTag struct {
		value string
	}
	serviceRoleTag struct {
		value string
	}
	statsTypeTag struct {
		value string
	}
	failureTag struct {
		value string
	}
	taskTypeTag struct {
		value string
	}
	visibilityTypeTag struct {
		value string
	}
)
func NamespaceTag(value string) Tag {
	if len(value) == 0 {
		value = unknownValue
	}
	return namespaceTag{value}
}
func (d namespaceTag) Key() string {
	return namespace
}
func (d namespaceTag) Value() string {
	return d.value
}
func NamespaceUnknownTag() Tag {
	return namespaceUnknownTag{}
}
func (d taskQueueUnknownTag) Key() string {
	return taskQueue
}
func (d taskQueueUnknownTag) Value() string {
	return unknownValue
}
func TaskQueueUnknownTag() Tag {
	return taskQueueUnknownTag{}
}
func (d namespaceUnknownTag) Key() string {
	return namespace
}
func (d namespaceUnknownTag) Value() string {
	return unknownValue
}
func InstanceTag(value string) Tag {
	return instanceTag{value}
}
func (i instanceTag) Key() string {
	return instance
}
func (i instanceTag) Value() string {
	return i.value
}
func TargetClusterTag(value string) Tag {
	if len(value) == 0 {
		value = unknownValue
	}
	return targetClusterTag{value}
}
func (d targetClusterTag) Key() string {
	return targetCluster
}
func (d targetClusterTag) Value() string {
	return d.value
}
func TaskQueueTag(value string) Tag {
	if len(value) == 0 {
		value = unknownValue
	}
	return taskQueueTag{sanitizer.Value(value)}
}
func (d taskQueueTag) Key() string {
	return taskQueue
}
func (d taskQueueTag) Value() string {
	return d.value
}
func WorkflowTypeTag(value string) Tag {
	if len(value) == 0 {
		value = unknownValue
	}
	return workflowTypeTag{value}
}
func (d workflowTypeTag) Key() string {
	return workflowType
}
func (d workflowTypeTag) Value() string {
	return d.value
}
func ActivityTypeTag(value string) Tag {
	if len(value) == 0 {
		value = unknownValue
	}
	return activityTypeTag{value}
}
func (d activityTypeTag) Key() string {
	return activityType
}
func (d activityTypeTag) Value() string {
	return d.value
}
func CommandTypeTag(value string) Tag {
	if len(value) == 0 {
		value = unknownValue
	}
	return commandTypeTag{value}
}
func (d commandTypeTag) Key() string {
	return commandType
}
func (d commandTypeTag) Value() string {
	return d.value
}
func ServiceRoleTag(value string) Tag {
	if len(value) == 0 {
		value = unknownValue
	}
	return serviceRoleTag{value}
}