func NewMetrics()

in pkg/storage/metrics.go [377:781]


func NewMetrics(scope tally.Scope) *Metrics {
	jobScope := scope.SubScope("job")
	jobSuccessScope := jobScope.Tagged(map[string]string{"result": "success"})
	jobFailScope := jobScope.Tagged(map[string]string{"result": "fail"})
	jobNotFoundScope := jobScope.Tagged(map[string]string{"result": "not_found"})

	workflowScope := scope.SubScope("workflow")
	workflowSuccessScope := workflowScope.Tagged(map[string]string{"result": "success"})
	workflowFailScope := workflowScope.Tagged(map[string]string{"result": "fail"})

	taskScope := scope.SubScope("task")
	taskSuccessScope := taskScope.Tagged(map[string]string{"result": "success"})
	taskFailScope := taskScope.Tagged(map[string]string{"result": "fail"})
	taskNotFoundScope := taskScope.Tagged(map[string]string{"result": "not_found"})

	updateScope := scope.SubScope("update")
	updateSuccessScope := updateScope.Tagged(map[string]string{"result": "success"})
	updateFailScope := updateScope.Tagged(map[string]string{"result": "fail"})

	resourcePoolScope := scope.SubScope("resource_pool")
	resourcePoolSuccessScope := resourcePoolScope.Tagged(map[string]string{"result": "success"})
	resourcePoolFailScope := resourcePoolScope.Tagged(map[string]string{"result": "fail"})

	frameworkIDScope := scope.SubScope("framework_id")
	frameworkIDSuccessScope := frameworkIDScope.Tagged(map[string]string{"result": "success"})
	frameworkIDFailScope := frameworkIDScope.Tagged(map[string]string{"result": "fail"})

	streamIDScope := scope.SubScope("stream_id")
	streamIDSuccessScope := streamIDScope.Tagged(map[string]string{"result": "success"})
	streamIDFailScope := streamIDScope.Tagged(map[string]string{"result": "fail"})

	volumeScope := scope.SubScope("persistent_volume")
	volumeSuccessScope := volumeScope.Tagged(map[string]string{"result": "success"})
	volumeFailScope := volumeScope.Tagged(map[string]string{"result": "fail"})

	hostInfoScope := scope.SubScope("host_info")
	hostInfoSuccessScope := hostInfoScope.Tagged(map[string]string{"result": "success"})
	hostInfoFailScope := hostInfoScope.Tagged(map[string]string{"result": "fail"})

	storageErrorScope := scope.SubScope("storage_error")

	jobMetrics := &JobMetrics{
		JobCreate:            jobSuccessScope.Counter("create"),
		JobCreateConfig:      jobSuccessScope.Counter("create_config"),
		JobCreateFail:        jobFailScope.Counter("create"),
		JobCreateConfigFail:  jobFailScope.Counter("create_config"),
		JobCreateRuntime:     jobSuccessScope.Counter("create_runtime"),
		JobCreateRuntimeFail: jobFailScope.Counter("create_runtime"),

		JobDelete:     jobSuccessScope.Counter("delete"),
		JobDeleteFail: jobFailScope.Counter("delete"),
		JobGet:        jobSuccessScope.Counter("get"),
		JobGetFail:    jobFailScope.Counter("get"),
		JobUpdate:     jobSuccessScope.Counter("update"),
		JobUpdateFail: jobFailScope.Counter("update"),
		JobNotFound:   jobNotFoundScope.Counter("get"),

		JobQuery:     jobSuccessScope.Counter("query"),
		JobQueryAll:  jobSuccessScope.Counter("query_all"),
		JobQueryFail: jobFailScope.Counter("query"),

		JobGetRuntime:         jobSuccessScope.Counter("get_runtime"),
		JobGetRuntimeFail:     jobFailScope.Counter("get_runtime"),
		JobGetAll:             jobSuccessScope.Counter("get_job_all"),
		JobGetAllFail:         jobFailScope.Counter("get_job_all"),
		JobGetByRespoolID:     jobSuccessScope.Counter("get_job_by_respool_id"),
		JobGetByRespoolIDFail: jobFailScope.Counter("get_job_by_respool_id"),
		JobUpdateRuntime:      jobSuccessScope.Counter("update_runtime"),
		JobUpdateRuntimeFail:  jobFailScope.Counter("update_runtime"),
		JobUpdateConfig:       jobSuccessScope.Counter("update_config"),
		JobUpdateConfigFail:   jobFailScope.Counter("update_config"),

		JobNameToID:     jobSuccessScope.Counter("job_name_to_id"),
		JobNameToIDFail: jobFailScope.Counter("job_name_to_id_fail"),

		JobGetNameToID:     jobSuccessScope.Counter("job_get_name_to_id"),
		JobGetNameToIDFail: jobFailScope.Counter("job_get_name_to_id_fail"),

		JobUpdateInfo:     jobSuccessScope.Counter("update_info"),
		JobUpdateInfoFail: jobFailScope.Counter("update_info"),
	}

	taskMetrics := &TaskMetrics{
		TaskCreate:             taskSuccessScope.Counter("create"),
		TaskCreateFail:         taskFailScope.Counter("create"),
		TaskGet:                taskSuccessScope.Counter("get"),
		TaskGetFail:            taskFailScope.Counter("get"),
		TaskGetConfig:          taskSuccessScope.Counter("get_config"),
		TaskGetConfigLegacy:    taskSuccessScope.Counter("get_config_legacy"),
		TaskGetConfigFail:      taskFailScope.Counter("get_config"),
		TaskGetConfigs:         taskSuccessScope.Counter("get_configs"),
		TaskGetConfigsFail:     taskFailScope.Counter("get_configs"),
		TaskConfigBackFill:     taskSuccessScope.Counter("get_configs_backfill"),
		TaskConfigBackFillFail: taskFailScope.Counter("get_configs_backfill"),

		TaskLogState:        taskSuccessScope.Counter("log_state"),
		TaskLogStateFail:    taskFailScope.Counter("log_state"),
		TaskGetLogState:     taskSuccessScope.Counter("get_log_state"),
		TaskGetLogStateFail: taskFailScope.Counter("get_log_state"),

		TaskGetForJob:                  taskSuccessScope.Counter("get_for_job"),
		TaskGetForJobFail:              taskFailScope.Counter("get_for_job"),
		TaskGetForJobAndStates:         taskSuccessScope.Counter("get_for_job_and_states"),
		TaskGetForJobAndStatesFail:     taskFailScope.Counter("get_for_job_and_states"),
		TaskIDsGetForJobAndState:       taskSuccessScope.Counter("get_ids_for_job_and_state"),
		TaskIDsGetForJobAndStateFail:   taskFailScope.Counter("get_ids_for_job_and_state"),
		TaskSummaryForJob:              taskSuccessScope.Counter("summary_for_job"),
		TaskSummaryForJobFail:          taskFailScope.Counter("summary_for_job"),
		TaskGetForJobRange:             taskSuccessScope.Counter("get_for_job_range"),
		TaskGetForJobRangeFail:         taskFailScope.Counter("get_for_job_range"),
		TaskGetRuntimesForJobRange:     taskSuccessScope.Counter("get_runtimes_for_job_range"),
		TaskGetRuntimesForJobRangeFail: taskFailScope.Counter("get_runtimes_for_job_range"),

		TaskGetRuntime:        taskSuccessScope.Counter("get_runtime"),
		TaskGetRuntimeFail:    taskFailScope.Counter("get_runtime"),
		TaskUpdateRuntime:     taskSuccessScope.Counter("update_runtime"),
		TaskUpdateRuntimeFail: taskFailScope.Counter("update_runtime"),
		TaskQueryTasks:        taskSuccessScope.Counter("query_tasks_for_job"),
		TaskQueryTasksFail:    taskFailScope.Counter("query_tasks_for_job"),

		TaskDelete:     taskSuccessScope.Counter("delete"),
		TaskDeleteFail: taskFailScope.Counter("delete"),
		TaskUpdate:     taskSuccessScope.Counter("update"),
		TaskUpdateFail: taskFailScope.Counter("update"),
		TaskNotFound:   taskNotFoundScope.Counter("get"),

		PodEventsAddSuccess:   taskSuccessScope.Counter("pod_events_add"),
		PodEventsAddFail:      taskFailScope.Counter("pod_events_add"),
		PodEventsGetSucess:    taskSuccessScope.Counter("pod_events_get"),
		PodEventsGetFail:      taskFailScope.Counter("pod_events_get"),
		PodEventsDeleteSucess: taskSuccessScope.Counter("pod_events_delete"),
		PodEventsDeleteFail:   taskFailScope.Counter("pod_events_delete"),
	}

	updateMetrics := &UpdateMetrics{
		UpdateCreate:     updateSuccessScope.Counter("create"),
		UpdateCreateFail: updateFailScope.Counter("create"),

		UpdateGet:     updateSuccessScope.Counter("get"),
		UpdateGetFail: updateFailScope.Counter("get"),

		UpdateWriteProgress:     updateSuccessScope.Counter("write_progress"),
		UpdateWriteProgressFail: updateFailScope.Counter("write_progress"),

		UpdateGetProgess:     updateSuccessScope.Counter("get_progress"),
		UpdateGetProgessFail: updateFailScope.Counter("get_progress"),

		UpdateGetForJob:     updateSuccessScope.Counter("get_for_job"),
		UpdateGetForJobFail: updateFailScope.Counter("get_for_job"),

		UpdateDelete:     updateSuccessScope.Counter("delete"),
		UpdateDeleteFail: updateFailScope.Counter("delete"),

		JobUpdateEventAdd:     updateSuccessScope.Counter("job_update_event_add"),
		JobUpdateEventAddFail: updateFailScope.Counter("job_update_event_add"),

		JobUpdateEventGet:     updateSuccessScope.Counter("job_update_event_get"),
		JobUpdateEventGetFail: updateFailScope.Counter("job_update_event_get"),

		JobUpdateEventDelete:     updateSuccessScope.Counter("job_update_event_delete"),
		JobUpdateEventDeleteFail: updateFailScope.Counter("job_update_event_delete"),
	}

	resourcePoolMetrics := &ResourcePoolMetrics{
		ResourcePoolCreate:     resourcePoolSuccessScope.Counter("create"),
		ResourcePoolCreateFail: resourcePoolFailScope.Counter("create"),
		ResourcePoolUpdate:     resourcePoolSuccessScope.Counter("update"),
		ResourcePoolUpdateFail: resourcePoolFailScope.Counter("update"),
		ResourcePoolDelete:     resourcePoolSuccessScope.Counter("delete"),
		ResourcePoolDeleteFail: resourcePoolFailScope.Counter("delete"),
		ResourcePoolGet:        resourcePoolSuccessScope.Counter("get"),
		ResourcePoolGetFail:    resourcePoolFailScope.Counter("get"),
	}

	frameworkStoreMetrics := &FrameworkStoreMetrics{
		FrameworkIDGet:      frameworkIDSuccessScope.Counter("get"),
		FrameworkIDGetFail:  frameworkIDFailScope.Counter("get"),
		FrameworkUpdate:     frameworkIDSuccessScope.Counter("update"),
		FrameworkUpdateFail: frameworkIDFailScope.Counter("update"),

		StreamIDGet:     streamIDSuccessScope.Counter("get"),
		StreamIDGetFail: streamIDFailScope.Counter("get"),
	}

	volumeMetrics := &VolumeMetrics{
		VolumeCreate:     volumeSuccessScope.Counter("create"),
		VolumeCreateFail: volumeFailScope.Counter("create"),
		VolumeGet:        volumeSuccessScope.Counter("get"),
		VolumeGetFail:    volumeFailScope.Counter("get"),
		VolumeUpdate:     volumeSuccessScope.Counter("update"),
		VolumeUpdateFail: volumeFailScope.Counter("update"),
		VolumeDelete:     volumeSuccessScope.Counter("delete"),
		VolumeDeleteFail: volumeFailScope.Counter("delete"),
	}

	errorMetrics := &ErrorMetrics{
		ReadFailure:        storageErrorScope.Counter("read_failure"),
		WriteFailure:       storageErrorScope.Counter("write_failure"),
		AlreadyExists:      storageErrorScope.Counter("already_exists"),
		ReadTimeout:        storageErrorScope.Counter("read_timeout"),
		WriteTimeout:       storageErrorScope.Counter("write_timeout"),
		RequestUnavailable: storageErrorScope.Counter("request_unavailable"),
		TooManyTimeouts:    storageErrorScope.Counter("too_many_timeouts"),
		ConnUnavailable:    storageErrorScope.Counter("conn_unavailable"),
		SessionClosed:      storageErrorScope.Counter("session_closed"),
		NoConnections:      storageErrorScope.Counter("no_connections"),
		ConnectionClosed:   storageErrorScope.Counter("connection_closed"),
		NoStreams:          storageErrorScope.Counter("no_streams"),
		NotTransient:       storageErrorScope.Counter("not_transient"),
		CASNotApplied:      storageErrorScope.Counter("cas_not_applied"),
	}

	workflowMetrics := &WorkflowMetrics{
		WorkflowEventsAdd:     workflowSuccessScope.Counter("add"),
		WorkflowEventsAddFail: workflowFailScope.Counter("add"),

		WorkflowEventsDelete:     workflowSuccessScope.Counter("delete"),
		WorkflowEventsDeleteFail: workflowFailScope.Counter("delete"),

		WorkflowEventsGet:     workflowSuccessScope.Counter("get"),
		WorkflowEventsGetFail: workflowFailScope.Counter("get"),
	}

	ormScope := scope.SubScope("orm")

	activeJobsScope := ormScope.SubScope("active_jobs")
	activeJobsSuccessScope := activeJobsScope.Tagged(
		map[string]string{"result": "success"})
	activeJobsFailScope := activeJobsScope.Tagged(
		map[string]string{"result": "fail"})

	jobIndexScope := ormScope.SubScope("job_index")
	jobIndexSuccessScope := jobIndexScope.Tagged(
		map[string]string{"result": "success"})
	jobIndexFailScope := jobIndexScope.Tagged(
		map[string]string{"result": "fail"})

	jobNameToIDScope := ormScope.SubScope("job_name_to_id")
	jobNameToIDSuccessScope := jobNameToIDScope.Tagged(
		map[string]string{"result": "success"})
	jobNameToIDFailScope := jobNameToIDScope.Tagged(
		map[string]string{"result": "fail"})

	jobConfigScope := ormScope.SubScope("job_config")
	jobConfigSuccessScope := jobConfigScope.Tagged(
		map[string]string{"result": "success"})
	jobConfigFailScope := jobConfigScope.Tagged(
		map[string]string{"result": "fail"})

	podEventsScope := ormScope.SubScope("pod_events")
	podEventsSuccessScope := podEventsScope.Tagged(
		map[string]string{"result": "success"})
	podEventsFailScope := podEventsScope.Tagged(
		map[string]string{"result": "fail"})

	taskConfigV2Scope := ormScope.SubScope("task_config_v2")
	taskConfigV2SuccessScope := taskConfigV2Scope.Tagged(
		map[string]string{"result": "success"})
	taskConfigV2FailScope := taskConfigV2Scope.Tagged(
		map[string]string{"result": "fail"})

	podSpecScope := ormScope.SubScope("task_config_v2")
	podSpecSuccessScope := podSpecScope.Tagged(
		map[string]string{"result": "success"})
	podSpecFailScope := podSpecScope.Tagged(
		map[string]string{"result": "fail"})

	respoolScope := ormScope.SubScope("respool")
	respoolSuccessScope := respoolScope.Tagged(
		map[string]string{"result": "success"})
	respoolFailedScope := respoolScope.Tagged(
		map[string]string{"result": "fail"})

	secretInfoScope := ormScope.SubScope("secret_info")
	secretInfoSuccessScope := secretInfoScope.Tagged(
		map[string]string{"result": "success"})
	secretInfoFailScope := secretInfoScope.Tagged(
		map[string]string{"result": "fail"})

	jobUpdateEventsScope := ormScope.SubScope("job_update_events")
	jobUpdateEventsSuccessScope := jobUpdateEventsScope.Tagged(
		map[string]string{"result": "success"})
	jobUpdateEventsFailScope := jobUpdateEventsScope.Tagged(
		map[string]string{"result": "fail"})

	ormJobMetrics := &OrmJobMetrics{
		JobIndexCreate:     jobIndexSuccessScope.Counter("create"),
		JobIndexCreateFail: jobIndexFailScope.Counter("create"),
		JobIndexGet:        jobIndexSuccessScope.Counter("get"),
		JobIndexGetFail:    jobIndexFailScope.Counter("get"),
		JobIndexGetAll:     jobIndexSuccessScope.Counter("geAll"),
		JobIndexGetAllFail: jobIndexFailScope.Counter("getAll"),
		JobIndexUpdate:     jobIndexSuccessScope.Counter("update"),
		JobIndexUpdateFail: jobIndexFailScope.Counter("update"),
		JobIndexDelete:     jobIndexSuccessScope.Counter("delete"),
		JobIndexDeleteFail: jobIndexFailScope.Counter("delete"),

		JobNameToIDCreate:     jobNameToIDSuccessScope.Counter("create"),
		JobNameToIDCreateFail: jobNameToIDFailScope.Counter("create"),
		JobNameToIDGetAll:     jobNameToIDSuccessScope.Counter("get_all"),
		JobNameToIDGetAllFail: jobNameToIDFailScope.Counter("get_all"),

		JobConfigCreate:     jobConfigSuccessScope.Counter("create"),
		JobConfigCreateFail: jobConfigFailScope.Counter("create"),
		JobConfigGet:        jobConfigSuccessScope.Counter("get"),
		JobConfigGetFail:    jobConfigFailScope.Counter("get"),
		JobConfigDelete:     jobConfigSuccessScope.Counter("delete"),
		JobConfigDeleteFail: jobConfigFailScope.Counter("delete"),

		ActiveJobsCreate:         activeJobsSuccessScope.Counter("create"),
		ActiveJobsCreateFail:     activeJobsFailScope.Counter("create"),
		ActiveJobsGetAll:         activeJobsSuccessScope.Counter("getAll"),
		ActiveJobsGetAllFail:     activeJobsFailScope.Counter("getAll"),
		ActiveJobsGetAllDuration: activeJobsSuccessScope.Timer("get_active_jobs_duration"),
		ActiveJobsDelete:         activeJobsSuccessScope.Counter("delete"),
		ActiveJobsDeleteFail:     activeJobsFailScope.Counter("delete"),

		SecretInfoCreate:     secretInfoSuccessScope.Counter("create"),
		SecretInfoCreateFail: secretInfoFailScope.Counter("create"),
		SecretInfoGet:        secretInfoSuccessScope.Counter("get"),
		SecretInfoGetFail:    secretInfoFailScope.Counter("get"),
		SecretInfoUpdate:     secretInfoSuccessScope.Counter("update"),
		SecretInfoUpdateFail: secretInfoFailScope.Counter("update"),
		SecretInfoDelete:     secretInfoSuccessScope.Counter("delete"),
		SecretInfoDeleteFail: secretInfoFailScope.Counter("delete"),
	}

	ormRespoolMetrics := &OrmRespoolMetrics{
		RespoolCreate:     respoolSuccessScope.Counter("create"),
		RespoolCreateFail: respoolFailedScope.Counter("create"),
		RespoolGet:        respoolSuccessScope.Counter("get"),
		RespoolGetFail:    respoolFailedScope.Counter("get"),
		RespoolGetAll:     respoolSuccessScope.Counter("getAll"),
		RespoolGetAllFail: respoolFailedScope.Counter("getAll"),
		RespoolUpdate:     respoolSuccessScope.Counter("update"),
		RespoolUpdateFail: respoolFailedScope.Counter("update"),
		RespoolDelete:     respoolSuccessScope.Counter("delete"),
		RespoolDeleteFail: respoolFailedScope.Counter("delete"),
	}

	ormTaskMetrics := &OrmTaskMetrics{
		PodEventsAdd:     podEventsSuccessScope.Counter("add"),
		PodEventsAddFail: podEventsFailScope.Counter("add"),
		PodEventsGet:     podEventsSuccessScope.Counter("get"),
		PodEventsGetFail: podEventsFailScope.Counter("get"),

		TaskConfigV2Create:     taskConfigV2SuccessScope.Counter("create"),
		TaskConfigV2CreateFail: taskConfigV2FailScope.Counter("create"),

		TaskConfigV2Get:     taskConfigV2SuccessScope.Counter("get"),
		TaskConfigV2GetFail: taskConfigV2FailScope.Counter("get"),

		TaskConfigLegacyGet:     taskConfigV2SuccessScope.Counter("get_legacy"),
		TaskConfigLegacyGetFail: taskConfigV2FailScope.Counter("get_legacy"),

		PodSpecGet:     podSpecSuccessScope.Counter("get"),
		PodSpecGetFail: podSpecFailScope.Counter("get"),
	}

	ormHostInfoMetrics := &OrmHostInfoMetrics{
		HostInfoAdd:                   hostInfoSuccessScope.Counter("add"),
		HostInfoAddFail:               hostInfoFailScope.Counter("add"),
		HostInfoGet:                   hostInfoSuccessScope.Counter("get"),
		HostInfoGetFail:               hostInfoFailScope.Counter("get"),
		HostInfoGetAll:                hostInfoSuccessScope.Counter("get_all"),
		HostInfoGetAllFail:            hostInfoFailScope.Counter("get_all"),
		HostInfoUpdate:                hostInfoSuccessScope.Counter("update"),
		HostInfoUpdateFail:            hostInfoFailScope.Counter("update"),
		HostInfoCurrentPoolUpdate:     hostInfoSuccessScope.Counter("current_pool_update"),
		HostInfoCurrentPoolUpdateFail: hostInfoFailScope.Counter("current_pool_update"),
		HostInfoDesiredPoolUpdate:     hostInfoSuccessScope.Counter("desired_pool_update"),
		HostInfoDesiredPoolUpdateFail: hostInfoFailScope.Counter("desired_pool_update"),
		HostInfoDelete:                hostInfoSuccessScope.Counter("delete"),
		HostInfoDeleteFail:            hostInfoFailScope.Counter("delete"),
		HostInfoCompareAndSet:         hostInfoSuccessScope.Counter("compare_and_set"),
		HostInfoCompareAndSetFail:     hostInfoFailScope.Counter("compare_and_set"),
	}

	ormJobUpdateEventsMetrics := &OrmJobUpdateEventsMetrics{
		JobUpdateEventsCreate:     jobUpdateEventsSuccessScope.Counter("create"),
		JobUpdateEventsCreateFail: jobUpdateEventsFailScope.Counter("create"),
		JobUpdateEventsGet:        jobUpdateEventsSuccessScope.Counter("get"),
		JobUpdateEventsGetFail:    jobUpdateEventsFailScope.Counter("get"),
		JobUpdateEventsDelete:     jobUpdateEventsSuccessScope.Counter("delete"),
		JobUpdateEventsDeleteFail: jobUpdateEventsFailScope.Counter("delete"),
	}

	metrics := &Metrics{
		JobMetrics:                jobMetrics,
		TaskMetrics:               taskMetrics,
		UpdateMetrics:             updateMetrics,
		ResourcePoolMetrics:       resourcePoolMetrics,
		FrameworkStoreMetrics:     frameworkStoreMetrics,
		VolumeMetrics:             volumeMetrics,
		ErrorMetrics:              errorMetrics,
		WorkflowMetrics:           workflowMetrics,
		OrmJobMetrics:             ormJobMetrics,
		OrmRespoolMetrics:         ormRespoolMetrics,
		OrmTaskMetrics:            ormTaskMetrics,
		OrmJobUpdateEventsMetrics: ormJobUpdateEventsMetrics,
		OrmHostInfoMetrics:        ormHostInfoMetrics,
	}

	return metrics
}