python-prometheus lib를 사용하여 API 상태를 계측하려고합니다. 나는 documentation의 지시에 따라 API 응답 시간에 대한 프로 메테우스의 히스토그램을 사용하고 내가 미리 설정된의 히스토그램을 기대하고있는 code의 버킷 팅 논리를 통해 갔다 측정prometheus_python 계측 - 히스토그램의 버켓 화
예상되는 동작
의 HTTP 수출을하고 있었다 응답 시간의 양동이. 1, 3, 5 또는 1보다 작거나 같은 1, 3, 5, 10 Inf (10s보다 큰) 버킷을 정의했습니다.
요청이 2 초일 경우, 3s 버킷의 빈도는 1이고 다른 버킷은 0입니다.
def observe(self, amount):
'''Observe the given amount.'''
self._sum.inc(amount)
for i, bound in enumerate(self._upper_bounds):
if amount <= bound:
self._buckets[i].inc(1)
break
를 버킷에
코드 조각 나는 휴식이 버킷 팅이 예를 들어 한 번만 발생 보장합니다 생각합니다.
응답 시간 :
이전
우리가 후반을 뺄 수 있다면 3.1s했다 샘플 요청에 대한
후 전후의 총액,
5s, 10s 및 inf 버킷도 업데이트되고 있습니다. 버킷> = 3.1s가 업데이트되는 위치와 방법을 찾으려고합니다.
기타 세부 사항 :
파이썬 - 프로 메테우스는 멀티 프로세스 모드에서 사용되는
버전 정보 :
- 파이썬 - 2.7
- prometheus_client [파이썬] - 0.0.21
@ brian-brazil에 감사드립니다. 코드를 자세히 살펴보면 각 항목이 한 번만 버킷으로 표시되는 것처럼 보입니다. 코드 스 니펫으로 질문을 업데이트하겠습니다. –
동작이 "le"이므로 예상대로 작동하는 것으로 알고 있습니다. 나는 그 코드가 어떤 코드인지에 관해서 궁금하다. 내가 강조하고있는 것은 버킷 하나만 채우는 것입니다. –
박람회 코드를보십시오. –