계측(컴퓨터 프로그래밍)

Instrumentation (computer programming)

컴퓨터 프로그래밍의 맥락에서 계측이란 오류를 진단하고 [1]추적 정보를 쓰기 위해 제품의 성능을 측정하는 것을 말합니다.계측에는 소스 인스트루먼테이션과 바이너리 인스트루먼테이션의 2종류가 있습니다.

산출량

프로그래밍에서 계측이란 다음을 의미합니다.[2]

  • 프로파일링: 트레이닝 실행 중 대표 입력으로 동적 프로그램 동작을 측정합니다.이는 에일리어스 분석과 같이 정적으로 충분한 정밀도로 분석할 수 없는 프로그램의 속성에 유용합니다.
  • 기능에 타이머 삽입
  • 크래시 등의 메이저이벤트 로깅

제한 사항

계측은 실행 범위에 따라 제한됩니다.프로그램이 특정 실행 지점에 도달하지 않으면 해당 지점의 계측은 데이터를 수집하지 않습니다.예를 들어 워드프로세서 어플리케이션이 계측되어도 사용자가 인쇄기능을 활성화하지 않는 경우, 인쇄기능에 의해서만 사용되는 루틴에 대해서는 아무것도 말할 수 없다.

계측의 종류에 따라서는, 실행 시간이 큰폭으로 증가하는 경우가 있습니다.이로 인해 디버깅콘텍스트에 대한 인스트루먼테이션 적용이 제한될 수 있습니다.

「 」를 참조해 주세요.

  • 후크 – 소프트웨어 컴포넌트 간에 전달되는 함수 호출, 메시지 또는 이벤트를 대행 수신하여 운영체제, 응용 프로그램 또는 기타 소프트웨어 컴포넌트의 동작을 변경 또는 증강하는 다양한 기술
  • 명령 집합 시뮬레이터 – 기계 코드 수준에서 모든 명령 시뮬레이션으로 계측 제공
  • 런타임 인텔리전스 – 애플리케이션 사용 수준, 패턴 및 프랙티스의 수집, 통합, 분석 및 프레젠테이션을 위한 테크놀로지, 관리 서비스 및 프랙티스
  • 소프트웨어 퍼포먼스 분석– 계측을 포함한 코드 퍼포먼스를 감시하는 기술
  • 하드웨어 퍼포먼스 카운터
  • DTrace – Solaris, macOS, FreeBSD 및 기타 많은 플랫폼과 제품에 실장된 운영 시스템의 커널 및 애플리케이션 문제를 실시간으로 트러블 슈팅하기 위한 포괄적인 동적 트레이스 프레임워크입니다.
  • Java Management Extensions(JMX) – 애플리케이션, 시스템 객체, 디바이스(프린터 등) 및 서비스 지향 네트워크를 관리 및 감시하기 위한 Java 테크놀로지
  • 응용 프로그램 응답 측정 – C Java용 표준화된 설치 API
  • 동적 재컴파일– 일부 에뮬레이터 및 가상 머신의 기능으로 실행 중 프로그램 일부를 재컴파일할 수 있습니다.

레퍼런스

  1. ^ IBM 웹 사이트의 소스 코드 계측 개요
  2. ^ "Commenting, Testing, and Instrumenting Code". January 3, 2011. Retrieved January 29, 2014.