npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@imqa/instrumentation-xml-http-request

v0.0.6

Published

[![NPM Published Version][npm-version-img]][npm-url] [![NPM Last Update][npm-last-update-img]][npm-url] [![NPM Unpacked Size][npm-unpacked-size-img]][npm-url] [![NPM Downloads][npm-downloads-img]][npm-url] [![NPM Type Definitions][npm-types-img]][npm-url]

Readme

@imqa/instrumentation-xml-http-request

NPM Published Version NPM Last Update NPM Unpacked Size NPM Downloads NPM Type Definitions License

개요

@imqa/instrumentation-xml-http-request는 IMQA 모니터링 시스템에서 웹 애플리케이션의 XMLHttpRequest 데이터를 캡처하고 보고하는 구조를 정의합니다. 이 계측은 OpenTelemetry 형식을 사용하여 웹 애플리케이션의 HTTP 요청과 응답을 추적하도록 설계되었습니다.

스키마 구조

스키마는 JSON 문서로, JSON Schema Draft 2020-12 사양을 따릅니다. HTTP 요청 Telemetry 데이터의 구조화된 형식을 정의하며, 다음과 같은 주요 구성요소를 포함합니다:

XMLHttpRequest 스팬

HTTP 요청 스팬은 웹 애플리케이션의 HTTP 요청과 응답을 추적합니다:

  • traceId: 트레이스의 고유 식별자
  • spanId: 스팬의 고유 식별자
  • name: HTTP 메서드 (예: "GET", "POST")
  • kind: 스팬의 타입 (1 = INTERNAL)
  • startTimeUnixNano: 에포크 이후의 시작 시간 (나노초)
  • endTimeUnixNano: 에포크 이후의 종료 시간 (나노초)
  • status: 결과 상태 (0 = OK)

XMLHttpRequest 스팬 속성

| 속성 | 타입 | 설명 | |-----------|------|-------------| | http.method | string | HTTP 메서드 (GET, POST 등) | | http.url | string | (deprecated) 요청의 전체 URL (예: "https://imqa.io/1.jpg" ) | | http.scheme | string | 프로토콜 (http, https) | | http.status_code | integer | HTTP 응답 코드 | | http.host | string | 요청에서의 호스트 이름 (예: "imqa.io") | | http.request_content_length | integer | 요청 컨텐츠의 크기 (바이트) | | http.response_content_length | integer | 응답 컨텐츠의 크기 (바이트) | | http.response_content_length_uncompressed | integer | 압축되지 않은 응답의 크기 (사용 가능한 경우) | | duration | integer | 요청 처리 시간 (나노초) | | location.href | string | 현재 페이지 URL | | environment | string | 환경 이름 | | deployment.environment | string | 배포 환경 | | screen.name | string | 화면/페이지 이름 | | screen.type | string | 화면/페이지 타입 | | session.id | string | 사용자 세션 식별자 | | url.full | string | 전체 URL (예: "https://imqa.io/1.jpg?hmac=fk" ) | | component | string | 컴포넌트 (XHR) | | span.type | string | 스팬 타입 (XHR) |

사용 방법

계측 설정

(boolean 또는 IMQAXMLHttpRequestInstrumentationConfig, 선택)

XMLHttpRequest 계측을 활성화하거나 비활성화합니다. true로 설정하면 XMLHttpRequest 요청이 자동으로 계측됩니다. IMQAXMLHttpRequestInstrumentationConfig을 통해 계측의 세부 설정을 조정할 수 있습니다.

자세한 계측 정보는 @imqa/instrumentation-xml-http-request 참조

interface XMLHttpRequestInstrumentationConfig extends InstrumentationConfig {
    clearTimingResources?: boolean;
    propagateTraceHeaderCorsUrls?: PropagateTraceHeaderCorsUrls;
    ignoreUrls?: Array<string | RegExp>;
    applyCustomAttributesOnSpan?: XHRCustomAttributeFunction;
    ignoreNetworkEvents?: boolean;
    measureRequestSize?: boolean;
    advancedNetworkCapture?: () => boolean;
}
  • clearTimingResources: 타이밍 리소스를 초기화합니다. 기본값은 false입니다.
  • propagateTraceHeaderCorsUrls: CORS 요청에 Trace Header를 전파할 URL 목록을 지정합니다. 기본값은 web.PropagateTraceHeaderCorsUrls입니다.
  • ignoreUrls: 계측하지 않을 URL 패턴을 지정합니다. 정규식이나 문자열 배열로 설정할 수 있으며, 부분 일치 또는 정확히 일치하는 URL은 계측되지 않습니다.
  • applyCustomAttributesOnSpan: Span에 사용자 정의 속성을 추가하는 함수입니다. 기본값은 undefined입니다.
  • ignoreNetworkEvents: 네트워크 이벤트를 무시합니다. 기본값은 false입니다.
  • measureRequestSize: 요청 크기를 측정합니다. 기본값은 false입니다.
  • advancedNetworkCapture: 고급 네트워크 캡처를 활성화합니다. 기본값은 false입니다.

기타

유효한 XHR Telemetry 객체는 다음과 같은 내용을 포함합니다:

  • 서비스, 브라우저 및 환경을 식별하는 리소스 정보
  • HTTP 요청과 응답을 캡처하는 XHR 스팬
  • 요청 처리 시간과 응답 크기와 같은 성능 메트릭

데이터는 다양한 Telemetry 수집 및 분석 도구와 호환되는 OpenTelemetry 프로토콜 형식을 따릅니다.

라이센스

Copyright (c) 2024-2025 ONYCOM CO., LTD. All rights reserved.