Azure Application Insights JavaScript SDK는 웹 애플리케이션을 추적하고, 모니터링하고, 디버깅하기 위한 구성을 제공합니다.
SDK 구성
이러한 구성 필드는 선택 사항이며 달리 명시되지 않는 한 기본값은 false입니다.
SDK 구성을 추가하는 방법에 대한 지침은 SDK 구성 추가를 참조하세요.
이름 | 유형 | 기본값 |
---|---|---|
계정 ID 앱이 사용자를 계정으로 그룹화하는 경우 계정 ID(선택 사항)입니다. 공백, 쉼표, 세미콜론, 등호 또는 세로 막대를 사용할 수 없습니다. |
문자열 | 널 |
요청 컨텍스트 추가 API 호출을 시작할 때 컨텍스트를 사용하여 종속성 로그를 보강하는 방법을 제공합니다. 기본값은 정의되지 않았습니다. xhr 관련 컨텍스트를 구성하는 경우 xhr 이 존재하는지 확인해야 합니다.
fetch request 관련 컨텍스트를 구성하는 경우 fetch response 및 fetch 가 존재하는지 확인해야 합니다. 그렇지 않으면 필요한 데이터를 가져오지 못할 수도 있습니다. |
(requestContext: IRequestionContext) => {[key: string]: any} | 정의되지 않음 |
ajaxPerfLookupDelay 기본값은 25ms입니다. Ajax 요청에 대한 windows.performance 타이밍 찾기를 다시 시도하기 전에 대기하는 시간입니다. 시간은 밀리초 단위이고 setTimeout()에 직접 전달됩니다. |
숫자 | 이십오 (25) |
appId (앱 ID) AppId는 클라이언트에서 발생하는 AJAX 종속성과 서버 쪽 요청 간의 상관 관계에 사용됩니다. 알림 API가 설정된 경우 자동으로 사용할 수 없고 구성에서 수동으로 설정할 수 있습니다. 기본값은 null입니다. |
문자열 | 널 |
자동_페이지_방문_시간_추적 True인 경우 페이지 보기에서 이전에 계측된 페이지의 보기 시간이 추적되어 원격 분석으로 전송되고 현재 페이지 보기에 대해 새 타이머가 시작됩니다. PageVisitTime 에서 milliseconds 이라는 사용자 지정 메트릭으로 전송되고 Date now() 함수(사용 가능한 경우)를 통해 계산되고 (새 Date())로 돌아갑니다. now()를 사용할 수 없는 경우(IE8 이하) getTime()입니다. 기본값은 false입니다. |
부울 | 거짓 |
정의되지 않음을 변환하다 사용자에게 정의되지 않은 필드를 사용자 정의 값으로 변환하는 옵션을 제공합니다. |
any |
정의되지 않음 |
cookieCfg 기본적으로 쿠키 사용이 활성화되어 있습니다. 전체 기본값은 ICookieCfgConfig 설정을 참조하세요. |
ICookieCfgConfig [선택 사항] (2.6.0 이상) |
정의되지 않음 |
쿠키 도메인 사용자 지정 쿠키 도메인입니다. 하위 도메인에서 Application Insights 쿠키를 공유하려는 경우에 유용합니다. (v2.6.0 이상) cookieCfg.___domain 을 정의하는 경우 이 값보다 우선 적용됩니다. |
cookieCfg.___domain 의 별칭[선택 사항] |
널 |
쿠키 경로 사용자 지정 쿠키 경로입니다. 애플리케이션 게이트웨이 뒤에서 Application Insights 쿠키를 공유하려는 경우 유용합니다. cookieCfg.path 가 정의되면 우선 적용됩니다. |
cookieCfg.path 의 별칭[선택 사항] (2.6.0 이상) |
널 |
상관관계헤더도메인 특정 도메인에 대한 상관 관계 헤더를 사용하도록 설정합니다. |
문자열[] | 정의되지 않음 |
상관관계헤더제외도메인 특정 도메인에 대한 상관 관계 헤더를 사용하지 않도록 설정합니다. |
문자열[] | 정의되지 않음 |
상관관계헤더제외패턴 정규식을 사용하는 상관 관계 헤더를 사용하지 않도록 설정합니다. |
regex[] | 정의되지 않음 |
createPerfMgr 필요한 경우 IPerfManager 인스턴스를 만들기 위해 호출되는 콜백 함수이며 enablePerfMgr 이 사용하도록 설정되어 있으면 초기화 후 setPerfMgr() 없이도 PerfManager()의 기본 생성을 재정의할 수 있습니다. |
(core: IAppInsightsCore, notificationManager: INotificationManager) => IPerfManager | 정의되지 않음 |
사용자 지정 헤더 사용자가 사용자 지정 엔드포인트를 사용할 때 추가 헤더를 제공할 수 있는 기능입니다. customHeaders는 비콘 발신자가 사용되는 브라우저 종료 순간에 추가되지 않습니다. 또한 IE9 이하에서는 사용자 지정 헤더 추가가 지원되지 않습니다. |
[{header: string, value: string}] |
정의되지 않음 |
진단 로그 간격 내부 로깅 큐의 (내부) 폴링 간격(밀리초)입니다. |
숫자 | 1만 |
Ajax 추적 비활성화 True인 경우 Ajax 호출이 자동으로 수집되지 않습니다. 기본값은 false입니다. |
부울 | 거짓 |
쿠키 사용 비활성화 기본값: false. SDK에서 쿠키 사용을 비활성화할지 여부를 나타내는 부울입니다. True인 경우 SDK가 쿠키의 데이터를 저장하거나 읽지 않습니다. (v2.6.0 이상) cookieCfg.enabled 가 정의되면 우선 적용됩니다. core.getCookieMgr().setEnabled(true)를 통해 초기화 후 쿠키 사용을 다시 활성화할 수 있습니다. |
cookieCfg.enabled 의 별칭[선택 사항] |
거짓 |
상관 관계 헤더 비활성화 False인 경우 SDK에서 모든 종속성 요청에 두 개의 헤더('Request-Id' 및 'Request-Context')를 추가하여 서버 쪽의 해당 요청과 상관 관계를 설정합니다. 기본값은 false입니다. |
부울 | 거짓 |
데이터 손실 분석 비활성화 False인 경우 내부 원격 분석 보낸 사람 버퍼를 시작할 때 아직 보내지 않은 항목을 확인합니다. |
부울 | 맞다 |
disableExceptionTracking (예외 추적 비활성화) True인 경우 예외가 자동으로 수집되지 않습니다. 기본값은 false입니다. |
부울 | 거짓 |
페치 추적 비활성화disableFetchTracking 의 기본 설정은 false 입니다. 즉, 사용하도록 설정됩니다. 그러나 2.8.10 이전 버전에서는 기본적으로 사용하지 않도록 설정되었습니다.
true 로 설정하면 페치 요청이 자동으로 수집되지 않습니다. 버전 2.8.0에서 기본 설정이 true 에서 false 로 변경되었습니다. |
부울 | 거짓 |
BeforeUnload 시 flush 비활성화 기본값: false. True인 경우 onBeforeUnload 이벤트가 트리거될 때 flush 메서드가 호출되지 않습니다. |
부울 | 거짓 |
Ikey 사용 중단 메시지 비활성화 계측 키 사용 중단 오류 메시지를 사용하지 않도록 설정합니다. True이면 오류 메시지가 전송되지 않습니다. |
부울 | 맞다 |
계측 키 검증 비활성화 True인 경우 계측 키 유효성 검사를 무시합니다. 기본값은 거짓입니다. |
부울 | 거짓 |
원격 측정 비활성화 True인 경우 원격 분석이 수집되거나 전송되지 않습니다. 기본값은 false입니다. |
부울 | 거짓 |
XHR 비활성화 기본적으로 XMLHttpRequest나 XDomainRequest(Internet Explorer < 버전 9의 경우)를 사용하지 말고 대신 fetch()나 sendBeacon을 사용해 보세요. 다른 전송을 사용할 수 없는 경우 XMLHttpRequest를 사용합니다. |
부울 | 거짓 |
분산 추적 모드 분산 추적 모드를 설정합니다. AI_AND_W3C 모드 또는 W3C 모드를 설정하는 경우 W3C 추적 컨텍스트 헤더(traceparent/tracestate)가 생성되고 나가는 모든 요청에 포함됩니다. AI_AND_W3C는 Application Insights로 계측되는 레거시 서비스와의 하위 호환성을 위해 제공됩니다. |
numeric 또는 DistributedTracingModes |
DistributedTracing Modes.AI_AND_W3C |
enableAjaxErrorStatusText (AJAX 오류 상태 텍스트 활성화) 기본값: false. True인 경우 실패한 AJAX 요청에 대한 종속성 이벤트에 응답 오류 데이터 텍스트 부울을 포함합니다. |
부울 | 거짓 |
Ajax 성능 추적 활성화 (enableAjaxPerfTracking) 기본값: false. 보고된 Ajax(XHR 및 페치) 메트릭에 추가 브라우저 window.performance 타이밍을 조회하고 포함할 수 있도록 하는 플래그입니다. |
부울 | 거짓 |
자동 경로 추적 활성화 SPA(단일 페이지 애플리케이션)의 경로 변경 내용을 자동으로 추적합니다. True인 경우 각 경로 변경 시 Application Insights에 새 페이지 보기가 전송됩니다. 해시 경로 변경( example.com/foo#bar )도 새 페이지 보기로 기록됩니다.참고: 이 필드를 사용하도록 설정하면 여러 페이지 보기 이벤트가 발생하므로 React 라우터 구성 history 개체를 사용하도록 설정 하지 마세요. |
부울 | 거짓 |
CORS 연관 활성화 True인 경우 SDK에서 모든 CORS 요청에 두 개의 헤더('Request-Id' 및 'Request-Context')를 추가하여 나가는 AJAX 종속성과 해당 서버 쪽 요청 간의 상관 관계를 설정합니다. 기본값은 false입니다. |
부울 | 거짓 |
enableDebug (디버그 활성화) True인 경우 SDK 로깅 설정에 관계없이 내부 디버깅 데이터가 기록되는 대신 예외로 throw됩니다. 기본값은 false입니다. 참고: 이 설정을 사용하면 내부 오류가 발생할 때마다 원격 분석이 삭제됩니다. SDK의 구성 또는 사용과 관련된 문제를 신속하게 식별하는 데 유용할 수 있습니다. 디버깅하는 동안 원격 분석이 손실되지 않게 하려면 loggingLevelConsole 대신 loggingLevelTelemetry 또는 enableDebug 을 사용하는 것이 좋습니다. |
부울 | 거짓 |
enablePerfMgr 사용하도록 설정하면(true) doPerf() 도우미를 통해 perfEvents를 내보내도록 계측된 코드에 대한 로컬 perfEvents를 만듭니다. 이는 사용량에 따라 또는 계측된 코드 내에서 필요에 따라 SDK 내의 성능 문제를 식별할 수 있습니다. |
부울 | 거짓 |
요청 헤더 추적 활성화 True인 경우 AJAX 및 페치 요청 헤더가 추적되고 기본값은 false입니다. ignoreHeaders가 구성되지 않은 경우 권한 부여 및 X-API-Key 헤더가 기록되지 않습니다. |
부울 | 거짓 |
응답 헤더 추적 활성화 True인 경우 AJAX 및 페치 요청의 응답 헤더가 추적되고 기본값은 false입니다. ignoreHeaders가 구성되지 않은 경우 WWW-Authenticate 헤더가 기록되지 않습니다. |
부울 | 거짓 |
세션스토리지버퍼활성화 기본값은 true입니다. True인 경우 모든 전송하지 않은 원격 분석을 포함하는 버퍼가 세션 스토리지에 저장됩니다. 페이지가 로드되면 버퍼가 복원됩니다. |
부울 | 맞다 |
처리되지 않은 프로미스 거부 추적 활성화 True인 경우 처리되지 않은 약속 거부가 JavaScript 오류로 자동으로 수집됩니다. disableExceptionTracking이 true인 경우(예외를 추적하지 않음) 구성 값이 무시되고 처리되지 않은 약속 거부가 보고되지 않습니다. |
부울 | 거짓 |
메모리 내 이벤트 제한 (eventsLimitInMem) 세션 스토리지(기본값)를 사용하지 않을 때 SDK가 이벤트를 삭제하기 시작하기 전에 메모리에 보관할 수 있는 이벤트 수입니다. |
숫자 | 1만 |
자동 추적 패턴에서 요청 제외 (excludeRequestFromAutoTrackingPatterns) XMLHttpRequest 또는 Fetch 요청에 대한 자동 추적에서 특정 경로를 제외하는 방법을 제공합니다. 정의된 경우 요청 URL이 정규식 패턴과 일치하는 Ajax/fetch 요청에 대해 자동 추적이 해제됩니다. 기본값은 정의되지 않았습니다. |
string[] | RegExp[] | 정의되지 않음 |
기능 참여 동의 기능 옵트인 세부 정보를 설정합니다. 이 구성 필드는 버전 3.0.3 이상에서만 사용할 수 있습니다. |
IFeatureOptIn | 정의되지 않음 |
아이디 길이 새 임의 세션 및 사용자 ID를 생성하는 데 사용되는 기본 길이를 식별합니다. 기본값은 22이고, 이전 기본값(v2.5.8 이하)은 5입니다. 이전 최대 길이를 유지해야 하는 경우 값을 5로 설정해야 합니다. |
숫자 | 22 (이십이) |
헤더 무시 AJAX 및 페치 요청 및 응답 헤더는 로그 데이터에서 무시됩니다. 기본값을 재정의하거나 취소하려면 제외할 모든 헤더가 있는 배열을 추가하거나 구성에 빈 배열을 추가합니다. |
문자열[] | ["인증", "X-API-Key", "WWW-인증"] |
isBeaconApiDisabled False인 경우 SDK가 비콘 API를 사용하여 모든 원격 분석을 전송합니다. |
부울 | 맞다 |
isBrowserLinkTrackingEnabled (브라우저 링크 추적 기능 사용 가능 여부) 기본값은 false입니다. True인 경우 SDK가 모든 브라우저 링크 요청을 추적합니다. |
부울 | 거짓 |
재시도비활성화됨 기본값: false. False인 경우 206(부분 성공), 408(시간 초과), 429(너무 많은 요청), 500(내부 서버 오류), 503(서비스를 사용할 수 없음), 0(오프라인, 검색된 경우만)에서 다시 시도합니다. |
부울 | 거짓 |
저장소 사용 불가 여부 True인 경우 SDK가 로컬 및 세션 스토리지에서 데이터를 저장하거나 읽지 않습니다. 기본값은 false입니다. |
부울 | 거짓 |
로그 레벨 콘솔 내부 Application Insights 오류를 콘솔에 기록합니다. 0: 꺼짐, 1: 심각한 오류만, 2: 모든 항목(오류 및 경고) |
숫자 | 0 |
로깅 수준 원격 측정 내부 Application Insights 오류를 원격 분석으로 전송합니다. 0: 꺼짐, 1: 심각한 오류만, 2: 모든 항목(오류 및 경고) |
숫자 | 1 |
maxAjaxCallsPerView (뷰당 최대 Ajax 호출 수) 기본값 500 - 페이지 보기당 모니터링할 Ajax 호출 수를 제어합니다. 페이지에서 모든 무제한 Ajax 호출을 모니터링하려면 -1로 설정합니다. |
숫자 | 500 |
최대Ajax성능조회시도 기본값은 3입니다. window.performance 타이밍(사용 가능한 경우)을 찾는 최대 횟수입니다. 모든 브라우저가 XHR 요청의 끝을 보고하기 전에 window.performance를 채우는 것은 아닙니다. 페치 요청의 경우 완료된 후 추가됩니다. |
숫자 | 3 |
최대 배치 간격 전송하기 전에 원격 분석을 일괄 처리하는 시간(밀리초)입니다. |
숫자 | 15000 |
최대 배치 크기(바이트 단위) 원격 분석 일괄 처리의 최대 크기입니다. 일괄 처리가 이 제한을 초과하는 즉시 전송되고 새 일괄 처리가 시작됩니다. |
숫자 | 1만 |
이름 접두사 localStorage 및 세션 쿠키 이름에 이름 접미사로 사용할 선택적 값입니다. |
문자열 | 정의되지 않음 |
onunload 비콘 비활성화 기본값: false. 탭이 닫히면 SDK가 비콘 API를 사용하여 나머지 모든 원격 분석을 전송합니다. |
부울 | 거짓 |
onunloadDisableFetch 페치 keepalive가 지원되는 경우 언로드 중에 이벤트를 보내는 데 사용하지 않으면 유지 관리 없이 fetch()로 대체됩니다. |
부울 | 거짓 |
페이지뷰 지속시간 무시 True인 경우 trackPageView의 기본 동작이 trackPageView가 호출될 때 페이지 보기 기간의 끝을 기록하도록 변경됩니다. False로 설정하고 trackPageView에 사용자 지정 기간을 제공하지 않는 경우 페이지 보기 성능이 탐색 타이밍 API를 사용하여 계산됩니다. 기본값은 false입니다. |
부울 | 거짓 |
perfEvtsSendAll enablePerfMgr가 사용하도록 설정되고 IPerfManager가 INotificationManager.perfEvent()를 실행하는 경우 이 플래그는 모든 이벤트(true)에 대해 또는 '부모' 이벤트(false <기본값>)에 대해서만 이벤트가 생성되고 모든 수신기에 전송되는지 여부를 결정합니다. 부모 IPerfEvent는 이 이벤트가 생성되는 시점에서 다른 IPerfEvent가 실행 중이지 않고 parent 속성이 Null이거나 정의되지 않은 경우의 이벤트입니다. v2.5.7 이상 |
부울 | 거짓 |
샘플링 비율 전송할 이벤트의 백분율입니다. 기본값은 100입니다. 즉, 모든 이벤트가 전송됩니다. 대규모 애플리케이션에 대한 데이터 상한을 유지하려는 경우에 설정합니다. |
숫자 | 100 |
sdkExtension SDK 확장 이름을 설정합니다. 영문자만 사용할 수 있습니다. 확장명이 'ai.internal.sdkVersion' 태그에 접두사로 추가됩니다(예: 'ext_javascript:2.0.0'). 기본값은 null입니다. |
문자열 | 널 |
sessionCookiePostfix 세션 쿠키 이름에 이름 접미사로 사용할 선택적 값입니다. 정의되지 않은 경우 namePrefix는 세션 쿠키 이름의 이름 접미사로 사용됩니다. |
문자열 | 정의되지 않음 |
세션만료밀리초 세션이 일정 시간(밀리초 단위) 이상 지속되면 해당 세션이 기록됩니다. 기본값은 24시간입니다. |
숫자 | 86400000 |
세션갱신시간ms 사용자가 이 시간(밀리초) 동안 비활성 상태이면 세션이 기록됩니다. 기본값은 30분입니다. |
숫자 | 1800000 |
스로틀 관리자 설정 키별로 제한 mgr 구성을 설정합니다. 이 구성 필드는 버전 3.0.3 이상에서만 사용할 수 있습니다. |
{[key: number]: IThrottleMgrConfig} |
정의되지 않음 |
userCookiePostfix 사용자 쿠키 이름에 이름 접미사로 사용할 선택적 값입니다. 정의되지 않으면 사용자 쿠키 이름에 접미사가 추가되지 않습니다. |
문자열 | 정의되지 않음 |
쿠키 관리
버전 2.6.0부터 Azure Application Insights JavaScript SDK는 초기화 후 사용하지 않도록 설정하고 다시 사용하도록 설정할 수 있는 인스턴스 기반 쿠키 관리를 제공합니다.
disableCookiesUsage
또는 cookieCfg.enabled
구성을 사용하여 초기화하는 동안 쿠키를 사용하지 않도록 설정한 경우 setEnabled
의 함수를 사용하여 쿠키를 다시 사용하도록 설정할 수 있습니다.
인스턴스 기반 쿠키 관리는 이전의 CoreUtils 전역 함수 disableCookies()
, setCookie()
, getCookie()
, deleteCookie()
를 대체합니다.
버전 2.6.0에서 도입된 트리 흔들림 개선 사항을 활용하려면 더 이상 전역 함수를 사용하지 않는 것이 좋습니다.
쿠키 구성
ICookieMgrConfig는 2.6.0에 추가된 인스턴스 기반 쿠키 관리를 위한 쿠키 구성입니다. 제공된 옵션을 사용하면 SDK에서 쿠키 사용을 사용하거나 사용하지 않도록 설정할 수 있습니다. 사용자 지정 쿠키 도메인 및 경로를 설정하고 쿠키 가져오기, 설정 및 삭제를 위한 함수를 사용자 지정할 수도 있습니다.
ICookieMgrConfig 옵션은 다음 표에 정의되어 있습니다.
이름 | 유형 | 기본값 | 설명 |
---|---|---|---|
활성화됨 | 부울 | 맞다 | SDK의 현재 인스턴스는 이 부울을 사용하여 쿠키 사용을 활성화할지 여부를 나타냅니다. False인 경우 이 구성으로 초기화된 SDK의 인스턴스가 쿠키의 데이터를 저장하거나 읽지 않습니다. |
도메인 | 문자열 | 널 | 사용자 지정 쿠키 도메인입니다. 하위 도메인에서 Application Insights 쿠키를 공유하려는 경우에 유용합니다. 지정하지 않으면 루트 cookieDomain 값의 값이 사용됩니다. |
경로 | 문자열 | / | 쿠키에 사용할 경로를 지정합니다. 지정하지 않으면 루트 cookiePath 값의 값이 사용됩니다. |
쿠키 무시 | 문자열[] | 정의되지 않음 | 쿠키 이름을 무시하도록 지정하면 일치하는 쿠키 이름을 읽거나 쓰지 않습니다. 여전히 명시적으로 제거되거나 삭제될 수 있습니다.
blockedCookies 구성에서 이름을 반복할 필요가 없습니다. (v2.8.8 이상) |
차단된 쿠키 | 문자열[] | 정의되지 않음 | 절대 쓰지 않을 쿠키 이름을 지정합니다. 쿠키 이름을 만들거나 업데이트할 수 없지만 ignoreCookies에 포함되지 않는 한 계속 읽을 수 있습니다. 여전히 명시적으로 제거되거나 삭제될 수 있습니다. 제공되지 않으면 ignoreCookies의 동일한 목록으로 기본 설정됩니다. (v2.8.8 이상) |
쿠키가져오기 | (name: string) => string |
널 | 명명된 쿠키 값을 가져오는 함수입니다. 지정되지 않으면 내부 쿠키 구문 분석/캐싱이 사용됩니다. |
쿠키설정 | (name: string, value: string) => void |
널 | 쿠키를 추가하거나 업데이트하는 경우에만 호출되어 명명된 쿠키를 지정된 값을 사용하여 설정하는 함수입니다. |
쿠키삭제 | (name: string, value: string) => void |
널 | 쿠키를 추가 또는 제거할지 여부를 결정하기 위해 값을 구문 분석할 필요가 없도록 지정된 값을 사용하여 명명된 쿠키를 setCookie와 구분하여 삭제하는 함수입니다. 지정하지 않으면 내부 쿠키 구문 분석/캐싱이 사용됩니다. |
원본 맵
소스 맵 지원을 사용하면 예외 원격 분석의 축소된 호출 스택을 수정할 수 있는 기능으로 축소된 JavaScript 코드를 디버그할 수 있습니다.
- 예외 세부 정보 패널의 모든 현재 통합과 호환
- SDK 업그레이드 없이 Node.JS를 포함하여 모든 현재 및 미래의 JavaScript SDK를 지원합니다.
Blob Storage 계정에 대한 링크
Application Insights는 Azure Storage 계정 Blob 컨테이너에 대한 소스 맵의 업로드를 지원합니다. 소스 맵을 사용하여 엔드투엔드 트랜잭션 세부 정보 페이지에 있는 호출 스택을 축소 해제할 수 있습니다. 원본 맵을 사용하여 JavaScript SDK 또는 Node.js SDK에서 보낸 예외를 축소 해제할 수도 있습니다.
새 스토리지 계정 및 Blob 컨테이너 만들기
기존 스토리지 계정 또는 Blob 컨테이너가 이미 있는 경우 이 단계를 건너뛰어도 됩니다.
스토리지 계정에 Blob 컨테이너를 만듭니다. 공용 액세스 수준을 프라이빗으로 설정하여 소스 맵에 공개적으로 액세스할 수 없도록 합니다.
Blob 컨테이너에 소스 맵 푸시
구성된 Blob 컨테이너에 소스 맵을 자동으로 업로드하도록 구성하여 연속 배포 파이프라인을 스토리지 계정과 통합합니다.
소스 맵을 컴파일하고 배포된 것과 동일한 폴더 구조를 사용하여 Azure Blob Storage 컨테이너에 소스 맵을 업로드할 수 있습니다. 일반적인 사용 사례는 배포 폴더의 접두사로 버전을 추가하는 것입니다(예: 1.2.3/static/js/main.js
).
sourcemaps
라는 Azure Blob 컨테이너를 통해 축소 해제하면 파이프라인은 sourcemaps/1.2.3/static/js/main.js.map
에 있는 소스 맵을 가져오려고 시도합니다.
Azure Pipelines를 통해 소스 맵 업로드(권장)
Azure Pipelines를 사용하여 애플리케이션을 지속적으로 빌드 및 배포하는 경우 Azure 파일 복사 작업을 파이프라인에 추가하여 소스 맵을 자동으로 업로드합니다.
소스 맵 스토리지 계정을 사용하여 Application Insights 리소스 구성
소스 맵 스토리지 계정으로 Application Insights 리소스를 구성하는 두 가지 옵션이 있습니다.
엔드투엔드 트랜잭션 세부 정보 탭
엔드투엔드 트랜잭션 세부 정보 탭에서 축소 해제를 선택합니다. 구성되지 않은 경우 리소스를 구성합니다.
- Azure Portal에서 축소된 예외의 세부 정보를 확인합니다.
- ‘축소 해제’를 선택합니다.
- 리소스가 구성되지 않은 경우 구성합니다.
속성 탭
Application Insights 리소스에 연결된 스토리지 계정 또는 Blob 컨테이너를 구성하거나 변경하려면 다음을 수행합니다.
Application Insights 리소스의 속성 탭으로 이동합니다.
소스 맵 Blob 컨테이너 변경을 선택합니다.
소스 맵 컨테이너로 다른 Blob 컨테이너를 선택합니다.
적용을 선택합니다.
축소되지 않은 호출 스택 보기
축소되지 않은 호출 스택을 보려면 Azure Portal에서 예외 원격 분석 항목을 선택하고, 호출 스택과 일치하는 원본 맵을 찾은 다음, 원본 맵을 Azure Portal의 호출 스택으로 끌어서 놓습니다. 원본 맵은 스택 프레임의 원본 파일과 이름이 동일해야 하지만 map
확장명이 있어야 합니다.
JavaScript 애플리케이션에 대한 원본 맵 지원과 관련된 문제가 발생하는 경우 JavaScript 애플리케이션에 대한 원본 맵 지원 문제 해결을 참조하세요.
트리 쉐이킹
트리 쉐이킹은 최종 JavaScript 번들에서 사용되지 않는 코드를 제거합니다.
트리 쉐이킹을 활용하려면 SDK의 필요한 구성 요소만 코드로 가져옵니다. 이렇게 하면 사용되지 않는 코드가 최종 번들에 포함되지 않으므로 크기가 줄어들고 성능이 향상됩니다.
트리 쉐이킹 개선 사항 및 권장 사항
버전 2.6.0에서는 트리 쉐이킹 알고리즘에 대한 지원을 개선하기 위해 이러한 정적 도우미 클래스의 내부 사용을 더 이상 사용하지 않고 제거했습니다. 이를 통해 npm 패키지는 사용하지 않는 코드를 안전하게 삭제할 수 있습니다.
CoreUtils
EventHelper
Util
UrlHelper
DateTimeUtils
ConnectionStringParser
이제 함수가 모듈에서 최상위 루트로 내보내지므로 더 나은 트리 쉐이킹을 위해 코드를 더 쉽게 리팩터링할 수 있습니다.
정적 클래스는 내보낸 새 함수를 참조하는 const 개체로 변경되었으며 향후 변경 내용은 참조를 추가로 리팩터링할 계획입니다.
트리 쉐이킹 사용되지 않는 함수 및 교체
이 섹션은 사용되지 않는 함수를 사용하고 패키지 크기를 최적화하려는 경우에만 적용됩니다. 대체 함수를 사용하여 크기를 줄이고 모든 버전의 Internet Explorer를 지원하는 것이 좋습니다.
현존하는 | 대체 기능 |
---|---|
CoreUtils | @microsoft/applicationinsights-core-js |
CoreUtils._canUseCookies | 없음. 모든 CoreUtils 참조가 최종 코드에 포함되도록 하려면 이를 사용하지 마세요.appInsights.getCookieMgr().setEnabled(true/false) 를 사용하여 값을 설정하고 appInsights.getCookieMgr().isEnabled() 를 사용하여 값을 확인하도록 쿠키 처리를 리팩터링합니다. |
CoreUtils.isTypeof | 타입 확인 |
CoreUtils.isUndefined | 정의되지 않음 여부 |
CoreUtils.isNullOrUndefined (널 또는 정의되지 않음을 확인하는 함수) | null이거나 정의되지 않은 |
CoreUtils.hasOwnProperty | hasOwnProperty (자체 속성을 확인하는 메서드) |
CoreUtils.isFunction | isFunction |
CoreUtils.isObject | 객체인지 |
CoreUtils.isDate | isDate |
CoreUtils.isArray | isArray |
CoreUtils.isError | 오류인가 |
CoreUtils.isString | isString |
CoreUtils.isNumber (숫자인지 확인하는 함수) | isNumber |
CoreUtils.isBoolean | isBoolean |
CoreUtils.toISOString (날짜와 시간을 ISO 형식 문자열로 변환) | toISOString 또는 getISOString |
CoreUtils.arrForEach | arrForEach |
CoreUtils.arrIndexOf | 배열 인덱스 찾기 |
CoreUtils.arrMap | arrMap |
CoreUtils.arrReduce | arrReduce |
CoreUtils.strTrim | strTrim (문자열의 앞뒤 공백을 제거하는 함수) |
CoreUtils.objCreate | objCreateFn |
CoreUtils.objKeys | objKeys |
CoreUtils.objDefineAccessors | 객체 접근자 정의 |
CoreUtils 클래스의 addEventHandler 메서드 | 이벤트 처리기 추가 |
CoreUtils.dateNow | 현재 날짜 |
CoreUtils.isIE | isIE |
코어유틸스.쿠키비활성화 | disableCookies 둘 중 하나를 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다. appInsights.getCookieMgr().setEnabled(false) 를 사용하도록 쿠키 처리를 리팩터링 |
CoreUtils.newGuid | 새 GUID 생성 |
CoreUtils.perfNow | 퍼포먼스나우 |
CoreUtils.newId | 새로운아이디 |
CoreUtils.randomValue (랜덤 값 생성기) | 임의값 |
CoreUtils.random32 | 랜덤32 |
CoreUtils.mwcRandomSeed | mwc랜덤시드 |
CoreUtils.mwcRandom32 | mwcRandom32 |
CoreUtils.generateW3CId (W3C ID를 생성하는 기능) | generateW3CId (W3C ID 생성) |
EventHelper | @microsoft/applicationinsights-core-js |
EventHelper.Attach | 이벤트 연결 |
EventHelper.AttachEvent | 이벤트 연결 |
EventHelper.Detach | 이벤트 분리 |
EventHelper.DetachEvent (이벤트 해제) | 이벤트 분리 |
유틸 | @microsoft/applicationinsights-common-js |
Util.지정되지 않음 | 지정되지 않음 |
Util.createDomEvent (돔 이벤트 생성 기능) | 돔 이벤트 생성 |
유틸.저장 비활성화 | utlDisableStorage |
Util.isInternalApplicationInsightsEndpoint | 내부애플리케이션인사이트엔드포인트인지 |
Util.canUseLocalStorage (로컬 스토리지를 사용할 수 있는지 확인하는 함수) | 로컬 저장소를 사용할 수 있음 |
Util.getStorage | 로컬 스토리지 가져오기 (utlGetLocalStorage) |
Util.setStorage (스토리지 설정 기능) | utlSet 지역 저장소 |
유틸.저장소제거 | 저장소 제거 함수 (utlRemoveStorage) |
Util.canUseSessionStorage (세션 스토리지 사용 가능 확인) | utlCanUseSessionStorage (세션 스토리지 사용 가능) |
Util.getSessionStorageKeys (세션 저장소 키 가져오기) | utlGetSessionStorageKeys |
Util.getSessionStorage | utlGetSessionStorage |
Util.setSessionStorage (세션 저장소 설정) | utlSetSessionStorage (세션 스토리지를 설정하는 함수) |
Util.removeSessionStorage | utlRemoveSessionStorage 세션 스토리지 제거 |
Util.쿠키사용중지 | disableCookies 둘 중 하나를 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다. appInsights.getCookieMgr().setEnabled(false) 를 사용하도록 쿠키 처리를 리팩터링 |
Util.canUseCookies (쿠키 사용 가능 여부 확인) | 쿠키사용가능여부 둘 중 하나를 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다. appInsights.getCookieMgr().isEnabled() 를 사용하도록 쿠키 처리를 리팩터링 |
사용 불가 SameSiteNone | uaDisallowsSameSiteNone |
Util.setCookie | 코어셋쿠키 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다. appInsights.getCookieMgr().set(name: string, value: string) 를 사용하도록 쿠키 처리를 리팩터링 |
Util.stringToBoolOrDefault | 문자열을 불린값으로 기본값으로 설정 |
Util.getCookie | coreGetCookie 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다. appInsights.getCookieMgr().get(name: string) 를 사용하도록 쿠키 처리를 리팩터링 |
Util.deleteCookie (쿠키를 삭제하는 함수) | coreDeleteCookie (코어 쿠키 삭제) 참조하면 이전 버전과의 호환성을 위해 CoreUtils가 참조됩니다. appInsights.getCookieMgr().del(name: string, path?: string) 를 사용하도록 쿠키 처리를 리팩터링 |
Util.trim | strTrim (문자열의 앞뒤 공백을 제거하는 함수) |
유틸.새ID | 새로운아이디 |
Util.random32 (무작위 32비트 숫자를 생성하는 함수) | --- 대체하지 않고 코어 random32(true)를 사용하도록 코드를 리팩터링합니다. |
Util.generateW3CId | generateW3CId (W3C ID 생성) |
Util.isArray | isArray |
Util.isError | 오류인가 |
Util.isDate | isDate |
Util.toISOStringForIE8 (IE8용 ISO 문자열 생성 함수) | toISOString 메서드 (날짜를 ISO 문자열로 변환) |
Util.getIEVersion | getIEVersion |
Util.msToTimeSpan (밀리초에서 시간 범위로 변환) | msToTimeSpan |
Util.isCrossOriginError | 교차 출처 오류 확인 |
Util.dump (유틸리티 덤프) | dumpObj |
Util.getExceptionName 예외 이름 가져오기 함수 | 예외 이름 가져오기 |
Util.addEventHandler | 이벤트 연결 |
Util.IsBeaconApiSupported (비콘 API 지원 여부 확인) | Beacon API 지원 여부 |
Util.getExtension (확장자를 가져오는 기능) | 확장자명으로 가져오기 (getExtensionByName) |
UrlHelper | @microsoft/applicationinsights-common-js |
UrlHelper.parseUrl (URL을 분석하는 함수) | urlParseUrl (URL을 분석하는 함수) |
UrlHelper.getAbsoluteUrl (절대 경로 URL을 얻는 함수) | urlGetAbsoluteUrl (URL 절대 경로 얻기) |
UrlHelper.getPathName (URL 경로 이름 가져오기) | URL 경로 이름 가져오기 |
UrlHelper.getCompeteUrl | url전체주소얻기 |
UrlHelper.parseHost (URL 도우미 함수) | URL 파싱 호스트 |
UrlHelper.전체호스트분석 | URL 전체 호스트 분석 |
DateTimeUtils | @microsoft/applicationinsights-common-js |
DateTimeUtils.Now | dateTimeUtilsNow |
DateTimeUtils.GetDuration | dateTimeUtilsDuration |
ConnectionStringParser | @microsoft/applicationinsights-common-js |
연결문자열파서.parse | 연결문자열 해석 |
서비스 알림
서비스 알림은 원격 분석이 Application Insights로 중단 없이 흐르도록 도와주는 실행 가능한 권장 사항을 제공하기 위해 SDK에 기본 제공되는 기능입니다. Application Insights 내에서 알림이 예외 메시지로 표시됩니다. SDK 설정에 따라 알림이 사용자와 관련이 있는지 확인하고 권장 사항의 긴급도에 따라 세부 정보를 조정합니다. 서비스 알림을 그대로 두는 것이 좋지만 구성을 통해 featureOptIn
옵트아웃할 수 있습니다. 활성 알림 목록은 아래를 참조하세요.
현재 활성 알림이 전송되지 않습니다.
서비스 알림은 JavaScript SDK에서 관리되며, 이러한 알림을 제어하고 업데이트하기 위해 공용 JSON 파일을 정기적으로 폴링합니다. JavaScript SDK에서 수행한 폴링을 사용하지 않도록 설정하려면 featureOptIn 모드를 사용하지 않도록 설정합니다.
문제 해결
전용 문제 해결 문서를 참조하세요.
다음 단계
- FAQ(질문과 대답)를 검토하려면 JavaScript SDK 구성 FAQ를 참조하세요.
- 사용 현황 추적
- 사용자 지정 이벤트 및 메트릭
- Azure 파일 복사 작업