![PTP4L 및 PHC2SYS 시스템 로깅에 대한 설명](https://linux55.com/image/121742/PTP4L%20%EB%B0%8F%20PHC2SYS%20%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EB%A1%9C%EA%B9%85%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%84%A4%EB%AA%85.png)
나는 사용하고있다피어 투 피어 4l그리고PHC4 시스템Centos 7.4 서버의 시계를 중앙 PTP 소스와 동기화하는 서비스입니다. 이러한 서비스는 아래와 같이 정기적으로 시스템 로그 기록을 작성합니다. 여기에 있는 각 필드의 의미와 단위가 무엇인지 설명하는 문서를 찾지 못했습니다. 어떤 단서도 감사하겠습니다!
11월 14일 17:07:26 stg1 ptp4l: [718277.895] rms 74 최대 99 주파수 +8760 +/- 84 지연 535 +/- 0 11월 14일 17:07:27 stg1 phc2sys: [718278.105] phc 오프셋 -62 s2 주파수 +14460 지연 2117
답변1
다른 링크에서 다음 설명을 얻었습니다.
이 값은 나노초 단위입니다.
기본 오프셋 값은 기본 오프셋에서 측정된 오프셋을 나노초 단위로 나타냅니다.
s0, s1, s2 표시기는 시계 서보의 다양한 상태(s0 잠금 해제, s1 시계 단계, s2 잠김)를 표시합니다. 서보가 잠긴 상태(s2)이고 구성 파일에서 pi_offset_const 옵션이 음수 값으로 설정된 경우(자세한 내용은 man 8 ptp4l 참조) 시계가 단계적으로 진행되지 않습니다(천천히 조정됩니다).
freq 값은 10억분의 1(ppb) 단위로 시계의 주파수 조정을 나타냅니다.
경로 지연 값은 마스터에서 전송된 동기화 메시지의 예상 지연(나노초)을 나타냅니다.
포트 0은 로컬 PTP 관리에 사용되는 Unix 도메인 소켓입니다. 포트 1은 eth0 인터페이스입니다.
INITIALIZING, LISTENING, UNCALIBRATED 및 SLAVE는 INITIALIZE, RS_SLAVE 및 MASTER_CLOCK_SELECTED 이벤트에서 변경되는 포트 상태의 예입니다. 포트 상태가 UNCALIBRATED에서 SLAVE로 변경되면 컴퓨터가 PTP 마스터 클럭과 성공적으로 동기화된 것입니다.
답변2
파일을 살펴보면 print.c
"인쇄" 기능에서 다음 코드 조각을 발견했습니다.
if (use_syslog) {
syslog(level, "[%ld.%03ld] %s%s%s",
ts.tv_sec, ts.tv_nsec / 1000000,
message_tag ? message_tag : "", message_tag ? " " : "",
buf);
}
print.h
더 많은 매크로를 정의하려면 이 기능을 사용하십시오. 일부는 사용되지 않은 것으로 보이고 다른 일부는 예제에 존재하지 않는 오류와 관련되어 있지만 pr_info
어떤 시점에서는 clock.c
이러한 로그를 설명할 수 있는 방식으로 매크로가 호출됩니다.
if (!stats_get_result(s->delay, &delay_stats)) {
pr_info("rms %4.0f max %4.0f "
"freq %+6.0f +/- %3.0f "
"delay %5.0f +/- %3.0f",
offset_stats.rms, offset_stats.max_abs,
freq_stats.mean, freq_stats.stddev,
delay_stats.mean, delay_stats.stddev);
} else {
pr_info("rms %4.0f max %4.0f "
"freq %+6.0f +/- %3.0f",
offset_stats.rms, offset_stats.max_abs,
freq_stats.mean, freq_stats.stddev);
}
나는 PTP4L에 대해 잘 모르지만, 이 변수 이름이 여러분에게 올바른 방향을 알려주기를 바랍니다. 더 자세히 알아보고 싶다면,여기github 저장소입니다.