istio

Форк
0
63 строки · 1.8 Кб
1
// Copyright Istio Authors
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15
package metrics
16

17
import (
18
	"time"
19

20
	"istio.io/istio/pkg/log"
21
	"istio.io/istio/pkg/monitoring"
22
)
23

24
var (
25
	typeTag = monitoring.CreateLabel("type")
26

27
	// StartupTime measures the time it takes for the agent to get ready Note: This
28
	// is dependent on readiness probes. This means our granularity is correlated to
29
	// the probing interval.
30
	startupTime = monitoring.NewGauge(
31
		"startup_duration_seconds",
32
		"The time from the process starting to being marked ready.",
33
	)
34

35
	// scrapeErrors records total number of failed scrapes.
36
	scrapeErrors = monitoring.NewSum(
37
		"scrape_failures_total",
38
		"The total number of failed scrapes.",
39
	)
40
	EnvoyScrapeErrors = scrapeErrors.With(typeTag.Value(ScrapeTypeEnvoy))
41
	AppScrapeErrors   = scrapeErrors.With(typeTag.Value(ScrapeTypeApp))
42
	AgentScrapeErrors = scrapeErrors.With(typeTag.Value(ScrapeTypeAgent))
43

44
	// ScrapeTotals records total number of scrapes.
45
	ScrapeTotals = monitoring.NewSum(
46
		"scrapes_total",
47
		"The total number of scrapes.",
48
	)
49
)
50

51
var (
52
	ScrapeTypeEnvoy = "envoy"
53
	ScrapeTypeApp   = "application"
54
	ScrapeTypeAgent = "agent"
55
)
56

57
var processStartTime = time.Now()
58

59
func RecordStartupTime() {
60
	delta := time.Since(processStartTime)
61
	startupTime.Record(delta.Seconds())
62
	log.Infof("Readiness succeeded in %v", delta)
63
}
64

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.