Mac OSX에서 디스크 큐 길이 (읽기 및 쓰기 작업을 위해 별도로)를 읽어야합니다. 나는 이것이 dtrace를 통해서만 이루어질 수 있다는 결론에 이르렀다. (나는 틀린 것이 기쁠 것이다. 그러나 다르게 이것을하는 어떤 방법도 찾지 못했다.) 이 정보를 제공하는 유일한 방법은 iopending dtrace 스크립트입니다. 내 C 프로그램에서 제공하는 정보에 액세스 할 수 있어야합니다 (또는 논리를 구현할 수 있어야합니다). libdtrace의 사용법은 전반적인 dtrace 비즈니스와 같이 매우 비현실적입니다 (개인 API를 고려). 어떤 예가 있습니까? (저의 질문에 대답하지 않는 몇 가지 발견 - libdtrace buffered output과 http://www.osdevcon.org/2008/files/osdevcon2008-petr.pdf) 제가 도와 드릴 수 있습니까?dtrace를 사용하여 시간에 따른 평균 및 최대 디스크 읽기/쓰기 큐를 계산하는 예제
2
A
답변
0
libdtrace를 기술적으로 비공식적 인 API로 사용하기 때문에 직접적으로 약간 털이있을 수 있지만 다른 DTrace 소비자에서 예제를 찾을 수 있습니다. libdtrace는 기본적으로 Mac OS, Solaris, FreeBSD를 지원하는 모든 플랫폼에서 동일하므로 API가 매우 안정적입니다. 그러나 Solaris는 몇 가지 업데이트를 추가로 제공하며 IIRC Mac OS는 다른 플랫폼에서 사용할 수있는 모든 기능을 지원하지 않습니다. 그러나 이로 인해 더 많은 예제가 제공됩니다.
해당 플랫폼 중 하나에서 dtrace
명령의 소스 코드를 보거나 node-libdtrace과 같은 라이브러리의 일부 래퍼에 대한 소스 코드를 볼 수 있습니다. 후자는 중요한 고급 연산을 제공하는 래퍼 일 뿐이므로 후자는 어떤 코드가 무엇을하는지 파악하는 것이 더 간단해야하므로 권장 할 것입니다.
DTrace와 libdtrace는 모두 별도의 항목입니다. 어느 쪽 얘기하고 있니? – askmish
질문에 대한 답변을 얻었다면 수락하는 것을 잊지 마시고, 더 자세한 정보가 필요하시면 의견을 두려워하지 마십시오. 감사! – Dan