12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524 |
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- (function (LoggingSeverity) {
- LoggingSeverity[LoggingSeverity["CRITICAL"] = 0] = "CRITICAL";
- LoggingSeverity[LoggingSeverity["WARNING"] = 1] = "WARNING";
- })(ApplicationInsights.LoggingSeverity || (ApplicationInsights.LoggingSeverity = {}));
- var LoggingSeverity = ApplicationInsights.LoggingSeverity;
- (function (_InternalMessageId) {
- _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserDoesNotSupportLocalStorage"] = 0] = "NONUSRACT_BrowserDoesNotSupportLocalStorage";
- _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserCannotReadLocalStorage"] = 1] = "NONUSRACT_BrowserCannotReadLocalStorage";
- _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserCannotReadSessionStorage"] = 2] = "NONUSRACT_BrowserCannotReadSessionStorage";
- _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserCannotWriteLocalStorage"] = 3] = "NONUSRACT_BrowserCannotWriteLocalStorage";
- _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserCannotWriteSessionStorage"] = 4] = "NONUSRACT_BrowserCannotWriteSessionStorage";
- _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserFailedRemovalFromLocalStorage"] = 5] = "NONUSRACT_BrowserFailedRemovalFromLocalStorage";
- _InternalMessageId[_InternalMessageId["NONUSRACT_BrowserFailedRemovalFromSessionStorage"] = 6] = "NONUSRACT_BrowserFailedRemovalFromSessionStorage";
- _InternalMessageId[_InternalMessageId["NONUSRACT_CannotSendEmptyTelemetry"] = 7] = "NONUSRACT_CannotSendEmptyTelemetry";
- _InternalMessageId[_InternalMessageId["NONUSRACT_ClientPerformanceMathError"] = 8] = "NONUSRACT_ClientPerformanceMathError";
- _InternalMessageId[_InternalMessageId["NONUSRACT_ErrorParsingAISessionCookie"] = 9] = "NONUSRACT_ErrorParsingAISessionCookie";
- _InternalMessageId[_InternalMessageId["NONUSRACT_ErrorPVCalc"] = 10] = "NONUSRACT_ErrorPVCalc";
- _InternalMessageId[_InternalMessageId["NONUSRACT_ExceptionWhileLoggingError"] = 11] = "NONUSRACT_ExceptionWhileLoggingError";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedAddingTelemetryToBuffer"] = 12] = "NONUSRACT_FailedAddingTelemetryToBuffer";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxAbort"] = 13] = "NONUSRACT_FailedMonitorAjaxAbort";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxDur"] = 14] = "NONUSRACT_FailedMonitorAjaxDur";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxOpen"] = 15] = "NONUSRACT_FailedMonitorAjaxOpen";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxRSC"] = 16] = "NONUSRACT_FailedMonitorAjaxRSC";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedMonitorAjaxSend"] = 17] = "NONUSRACT_FailedMonitorAjaxSend";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedToAddHandlerForOnBeforeUnload"] = 18] = "NONUSRACT_FailedToAddHandlerForOnBeforeUnload";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedToSendQueuedTelemetry"] = 19] = "NONUSRACT_FailedToSendQueuedTelemetry";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FailedToReportDataLoss"] = 20] = "NONUSRACT_FailedToReportDataLoss";
- _InternalMessageId[_InternalMessageId["NONUSRACT_FlushFailed"] = 21] = "NONUSRACT_FlushFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_MessageLimitPerPVExceeded"] = 22] = "NONUSRACT_MessageLimitPerPVExceeded";
- _InternalMessageId[_InternalMessageId["NONUSRACT_MissingRequiredFieldSpecification"] = 23] = "NONUSRACT_MissingRequiredFieldSpecification";
- _InternalMessageId[_InternalMessageId["NONUSRACT_NavigationTimingNotSupported"] = 24] = "NONUSRACT_NavigationTimingNotSupported";
- _InternalMessageId[_InternalMessageId["NONUSRACT_OnError"] = 25] = "NONUSRACT_OnError";
- _InternalMessageId[_InternalMessageId["NONUSRACT_SessionRenewalDateIsZero"] = 26] = "NONUSRACT_SessionRenewalDateIsZero";
- _InternalMessageId[_InternalMessageId["NONUSRACT_SenderNotInitialized"] = 27] = "NONUSRACT_SenderNotInitialized";
- _InternalMessageId[_InternalMessageId["NONUSRACT_StartTrackEventFailed"] = 28] = "NONUSRACT_StartTrackEventFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_StopTrackEventFailed"] = 29] = "NONUSRACT_StopTrackEventFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_StartTrackFailed"] = 30] = "NONUSRACT_StartTrackFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_StopTrackFailed"] = 31] = "NONUSRACT_StopTrackFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_TelemetrySampledAndNotSent"] = 32] = "NONUSRACT_TelemetrySampledAndNotSent";
- _InternalMessageId[_InternalMessageId["NONUSRACT_TrackEventFailed"] = 33] = "NONUSRACT_TrackEventFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_TrackExceptionFailed"] = 34] = "NONUSRACT_TrackExceptionFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_TrackMetricFailed"] = 35] = "NONUSRACT_TrackMetricFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_TrackPVFailed"] = 36] = "NONUSRACT_TrackPVFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_TrackPVFailedCalc"] = 37] = "NONUSRACT_TrackPVFailedCalc";
- _InternalMessageId[_InternalMessageId["NONUSRACT_TrackTraceFailed"] = 38] = "NONUSRACT_TrackTraceFailed";
- _InternalMessageId[_InternalMessageId["NONUSRACT_TransmissionFailed"] = 39] = "NONUSRACT_TransmissionFailed";
- _InternalMessageId[_InternalMessageId["USRACT_CannotSerializeObject"] = 40] = "USRACT_CannotSerializeObject";
- _InternalMessageId[_InternalMessageId["USRACT_CannotSerializeObjectNonSerializable"] = 41] = "USRACT_CannotSerializeObjectNonSerializable";
- _InternalMessageId[_InternalMessageId["USRACT_CircularReferenceDetected"] = 42] = "USRACT_CircularReferenceDetected";
- _InternalMessageId[_InternalMessageId["USRACT_ClearAuthContextFailed"] = 43] = "USRACT_ClearAuthContextFailed";
- _InternalMessageId[_InternalMessageId["USRACT_ExceptionTruncated"] = 44] = "USRACT_ExceptionTruncated";
- _InternalMessageId[_InternalMessageId["USRACT_IllegalCharsInName"] = 45] = "USRACT_IllegalCharsInName";
- _InternalMessageId[_InternalMessageId["USRACT_ItemNotInArray"] = 46] = "USRACT_ItemNotInArray";
- _InternalMessageId[_InternalMessageId["USRACT_MaxAjaxPerPVExceeded"] = 47] = "USRACT_MaxAjaxPerPVExceeded";
- _InternalMessageId[_InternalMessageId["USRACT_MessageTruncated"] = 48] = "USRACT_MessageTruncated";
- _InternalMessageId[_InternalMessageId["USRACT_NameTooLong"] = 49] = "USRACT_NameTooLong";
- _InternalMessageId[_InternalMessageId["USRACT_SampleRateOutOfRange"] = 50] = "USRACT_SampleRateOutOfRange";
- _InternalMessageId[_InternalMessageId["USRACT_SetAuthContextFailed"] = 51] = "USRACT_SetAuthContextFailed";
- _InternalMessageId[_InternalMessageId["USRACT_SetAuthContextFailedAccountName"] = 52] = "USRACT_SetAuthContextFailedAccountName";
- _InternalMessageId[_InternalMessageId["USRACT_StringValueTooLong"] = 53] = "USRACT_StringValueTooLong";
- _InternalMessageId[_InternalMessageId["USRACT_StartCalledMoreThanOnce"] = 54] = "USRACT_StartCalledMoreThanOnce";
- _InternalMessageId[_InternalMessageId["USRACT_StopCalledWithoutStart"] = 55] = "USRACT_StopCalledWithoutStart";
- _InternalMessageId[_InternalMessageId["USRACT_TelemetryInitializerFailed"] = 56] = "USRACT_TelemetryInitializerFailed";
- _InternalMessageId[_InternalMessageId["USRACT_TrackArgumentsNotSpecified"] = 57] = "USRACT_TrackArgumentsNotSpecified";
- _InternalMessageId[_InternalMessageId["USRACT_UrlTooLong"] = 58] = "USRACT_UrlTooLong";
- })(ApplicationInsights._InternalMessageId || (ApplicationInsights._InternalMessageId = {}));
- var _InternalMessageId = ApplicationInsights._InternalMessageId;
- var _InternalLogMessage = (function () {
- function _InternalLogMessage(msgId, msg, properties) {
- this.message = _InternalMessageId[msgId].toString();
- this.messageId = msgId;
- var diagnosticText = (msg ? " message:" + _InternalLogMessage.sanitizeDiagnosticText(msg) : "") +
- (properties ? " props:" + _InternalLogMessage.sanitizeDiagnosticText(JSON.stringify(properties)) : "");
- this.message += diagnosticText;
- }
- _InternalLogMessage.sanitizeDiagnosticText = function (text) {
- return "\"" + text.replace(/\"/g, "") + "\"";
- };
- return _InternalLogMessage;
- })();
- ApplicationInsights._InternalLogMessage = _InternalLogMessage;
- var _InternalLogging = (function () {
- function _InternalLogging() {
- }
- _InternalLogging.throwInternalNonUserActionable = function (severity, message) {
- if (this.enableDebugExceptions()) {
- throw message;
- }
- else {
- if (typeof (message) !== "undefined" && !!message) {
- if (typeof (message.message) !== "undefined") {
- message.message = this.AiNonUserActionablePrefix + message.message;
- this.warnToConsole(message.message);
- this.logInternalMessage(severity, message);
- }
- }
- }
- };
- _InternalLogging.throwInternalUserActionable = function (severity, message) {
- if (this.enableDebugExceptions()) {
- throw message;
- }
- else {
- if (typeof (message) !== "undefined" && !!message) {
- if (typeof (message.message) !== "undefined") {
- message.message = this.AiUserActionablePrefix + message.message;
- this.warnToConsole(message.message);
- this.logInternalMessage(severity, message);
- }
- }
- }
- };
- _InternalLogging.warnToConsole = function (message) {
- if (typeof console !== "undefined" && !!console) {
- if (typeof console.warn === "function") {
- console.warn(message);
- }
- else if (typeof console.log === "function") {
- console.log(message);
- }
- }
- };
- _InternalLogging.resetInternalMessageCount = function () {
- this._messageCount = 0;
- };
- _InternalLogging.clearInternalMessageLoggedTypes = function () {
- if (ApplicationInsights.Util.canUseSessionStorage()) {
- var sessionStorageKeys = ApplicationInsights.Util.getSessionStorageKeys();
- for (var i = 0; i < sessionStorageKeys.length; i++) {
- if (sessionStorageKeys[i].indexOf(_InternalLogging.AIInternalMessagePrefix) === 0) {
- ApplicationInsights.Util.removeSessionStorage(sessionStorageKeys[i]);
- }
- }
- }
- };
- _InternalLogging.setMaxInternalMessageLimit = function (limit) {
- if (!limit) {
- throw new Error('limit cannot be undefined.');
- }
- this.MAX_INTERNAL_MESSAGE_LIMIT = limit;
- };
- _InternalLogging.logInternalMessage = function (severity, message) {
- if (this._areInternalMessagesThrottled()) {
- return;
- }
- var logMessage = true;
- if (ApplicationInsights.Util.canUseSessionStorage()) {
- var storageMessageKey = _InternalLogging.AIInternalMessagePrefix + _InternalMessageId[message.messageId];
- var internalMessageTypeLogRecord = ApplicationInsights.Util.getSessionStorage(storageMessageKey);
- if (internalMessageTypeLogRecord) {
- logMessage = false;
- }
- else {
- ApplicationInsights.Util.setSessionStorage(storageMessageKey, "1");
- }
- }
- if (logMessage) {
- if (this.verboseLogging() || severity === LoggingSeverity.CRITICAL) {
- this.queue.push(message);
- this._messageCount++;
- }
- if (this._messageCount == this.MAX_INTERNAL_MESSAGE_LIMIT) {
- var throttleLimitMessage = "Internal events throttle limit per PageView reached for this app.";
- var throttleMessage = new _InternalLogMessage(_InternalMessageId.NONUSRACT_MessageLimitPerPVExceeded, throttleLimitMessage);
- this.queue.push(throttleMessage);
- this.warnToConsole(throttleLimitMessage);
- }
- }
- };
- _InternalLogging._areInternalMessagesThrottled = function () {
- return this._messageCount >= this.MAX_INTERNAL_MESSAGE_LIMIT;
- };
- _InternalLogging.AiUserActionablePrefix = "AI: ";
- _InternalLogging.AIInternalMessagePrefix = "AITR_";
- _InternalLogging.AiNonUserActionablePrefix = "AI (Internal): ";
- _InternalLogging.enableDebugExceptions = function () { return false; };
- _InternalLogging.verboseLogging = function () { return false; };
- _InternalLogging.queue = [];
- _InternalLogging.MAX_INTERNAL_MESSAGE_LIMIT = 25;
- _InternalLogging._messageCount = 0;
- return _InternalLogging;
- })();
- ApplicationInsights._InternalLogging = _InternalLogging;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="./logging.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var StorageType;
- (function (StorageType) {
- StorageType[StorageType["LocalStorage"] = 0] = "LocalStorage";
- StorageType[StorageType["SessionStorage"] = 1] = "SessionStorage";
- })(StorageType || (StorageType = {}));
- var Util = (function () {
- function Util() {
- }
- Util._getLocalStorageObject = function () {
- return Util._getVerifiedStorageObject(StorageType.LocalStorage);
- };
- Util._getVerifiedStorageObject = function (storageType) {
- var storage = null;
- var fail;
- var uid;
- try {
- uid = new Date;
- storage = storageType === StorageType.LocalStorage ? window.localStorage : window.sessionStorage;
- storage.setItem(uid, uid);
- fail = storage.getItem(uid) != uid;
- storage.removeItem(uid);
- if (fail) {
- storage = null;
- }
- }
- catch (exception) {
- storage = null;
- }
- return storage;
- };
- Util.canUseLocalStorage = function () {
- return !!Util._getLocalStorageObject();
- };
- Util.getStorage = function (name) {
- var storage = Util._getLocalStorageObject();
- if (storage !== null) {
- try {
- return storage.getItem(name);
- }
- catch (e) {
- var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserCannotReadLocalStorage, "Browser failed read of local storage. " + Util.getExceptionName(e), { exception: Util.dump(e) });
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, message);
- }
- }
- return null;
- };
- Util.setStorage = function (name, data) {
- var storage = Util._getLocalStorageObject();
- if (storage !== null) {
- try {
- storage.setItem(name, data);
- return true;
- }
- catch (e) {
- var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserCannotWriteLocalStorage, "Browser failed write to local storage. " + Util.getExceptionName(e), { exception: Util.dump(e) });
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, message);
- }
- }
- return false;
- };
- Util.removeStorage = function (name) {
- var storage = Util._getLocalStorageObject();
- if (storage !== null) {
- try {
- storage.removeItem(name);
- return true;
- }
- catch (e) {
- var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserFailedRemovalFromLocalStorage, "Browser failed removal of local storage item. " + Util.getExceptionName(e), { exception: Util.dump(e) });
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, message);
- }
- }
- return false;
- };
- Util._getSessionStorageObject = function () {
- return Util._getVerifiedStorageObject(StorageType.SessionStorage);
- };
- Util.canUseSessionStorage = function () {
- return !!Util._getSessionStorageObject();
- };
- Util.getSessionStorageKeys = function () {
- var keys = [];
- if (Util.canUseSessionStorage()) {
- for (var key in window.sessionStorage) {
- keys.push(key);
- }
- }
- return keys;
- };
- Util.getSessionStorage = function (name) {
- var storage = Util._getSessionStorageObject();
- if (storage !== null) {
- try {
- return storage.getItem(name);
- }
- catch (e) {
- var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserCannotReadSessionStorage, "Browser failed read of session storage. " + Util.getExceptionName(e), { exception: Util.dump(e) });
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, message);
- }
- }
- return null;
- };
- Util.setSessionStorage = function (name, data) {
- var storage = Util._getSessionStorageObject();
- if (storage !== null) {
- try {
- storage.setItem(name, data);
- return true;
- }
- catch (e) {
- var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserCannotWriteSessionStorage, "Browser failed write to session storage. " + Util.getExceptionName(e), { exception: Util.dump(e) });
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, message);
- }
- }
- return false;
- };
- Util.removeSessionStorage = function (name) {
- var storage = Util._getSessionStorageObject();
- if (storage !== null) {
- try {
- storage.removeItem(name);
- return true;
- }
- catch (e) {
- var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserFailedRemovalFromSessionStorage, "Browser failed removal of session storage item. " + Util.getExceptionName(e), { exception: Util.dump(e) });
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, message);
- }
- }
- return false;
- };
- Util.setCookie = function (name, value, domain) {
- var domainAttrib = "";
- if (domain) {
- domainAttrib = ";domain=" + domain;
- }
- Util.document.cookie = name + "=" + value + domainAttrib + ";path=/";
- };
- Util.stringToBoolOrDefault = function (str) {
- if (!str) {
- return false;
- }
- return str.toString().toLowerCase() === "true";
- };
- Util.getCookie = function (name) {
- var value = "";
- if (name && name.length) {
- var cookieName = name + "=";
- var cookies = Util.document.cookie.split(";");
- for (var i = 0; i < cookies.length; i++) {
- var cookie = cookies[i];
- cookie = Util.trim(cookie);
- if (cookie && cookie.indexOf(cookieName) === 0) {
- value = cookie.substring(cookieName.length, cookies[i].length);
- break;
- }
- }
- }
- return value;
- };
- Util.deleteCookie = function (name) {
- Util.document.cookie = name + "=;path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;";
- };
- Util.trim = function (str) {
- if (typeof str !== "string")
- return str;
- return str.replace(/^\s+|\s+$/g, "");
- };
- Util.newId = function () {
- var base64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
- var result = "";
- var random = Math.random() * 1073741824;
- while (random > 0) {
- var char = base64chars.charAt(random % 64);
- result += char;
- random = Math.floor(random / 64);
- }
- return result;
- };
- Util.isArray = function (obj) {
- return Object.prototype.toString.call(obj) === "[object Array]";
- };
- Util.isError = function (obj) {
- return Object.prototype.toString.call(obj) === "[object Error]";
- };
- Util.isDate = function (obj) {
- return Object.prototype.toString.call(obj) === "[object Date]";
- };
- Util.toISOStringForIE8 = function (date) {
- if (Util.isDate(date)) {
- if (Date.prototype.toISOString) {
- return date.toISOString();
- }
- else {
- function pad(number) {
- var r = String(number);
- if (r.length === 1) {
- r = "0" + r;
- }
- return r;
- }
- return date.getUTCFullYear()
- + "-" + pad(date.getUTCMonth() + 1)
- + "-" + pad(date.getUTCDate())
- + "T" + pad(date.getUTCHours())
- + ":" + pad(date.getUTCMinutes())
- + ":" + pad(date.getUTCSeconds())
- + "." + String((date.getUTCMilliseconds() / 1000).toFixed(3)).slice(2, 5)
- + "Z";
- }
- }
- };
- Util.getIEVersion = function (userAgentStr) {
- if (userAgentStr === void 0) { userAgentStr = null; }
- var myNav = userAgentStr ? userAgentStr.toLowerCase() : navigator.userAgent.toLowerCase();
- return (myNav.indexOf('msie') != -1) ? parseInt(myNav.split('msie')[1]) : null;
- };
- Util.msToTimeSpan = function (totalms) {
- if (isNaN(totalms) || totalms < 0) {
- totalms = 0;
- }
- var ms = "" + totalms % 1000;
- var sec = "" + Math.floor(totalms / 1000) % 60;
- var min = "" + Math.floor(totalms / (1000 * 60)) % 60;
- var hour = "" + Math.floor(totalms / (1000 * 60 * 60)) % 24;
- ms = ms.length === 1 ? "00" + ms : ms.length === 2 ? "0" + ms : ms;
- sec = sec.length < 2 ? "0" + sec : sec;
- min = min.length < 2 ? "0" + min : min;
- hour = hour.length < 2 ? "0" + hour : hour;
- return hour + ":" + min + ":" + sec + "." + ms;
- };
- Util.isCrossOriginError = function (message, url, lineNumber, columnNumber, error) {
- return (message === "Script error." || message === "Script error") && error === null;
- };
- Util.dump = function (object) {
- var objectTypeDump = Object.prototype.toString.call(object);
- var propertyValueDump = JSON.stringify(object);
- if (objectTypeDump === "[object Error]") {
- propertyValueDump = "{ stack: '" + object.stack + "', message: '" + object.message + "', name: '" + object.name + "'";
- }
- return objectTypeDump + propertyValueDump;
- };
- Util.getExceptionName = function (object) {
- var objectTypeDump = Object.prototype.toString.call(object);
- if (objectTypeDump === "[object Error]") {
- return object.name;
- }
- return "";
- };
- Util.addEventHandler = function (eventName, callback) {
- if (!window || typeof eventName !== 'string' || typeof callback !== 'function') {
- return false;
- }
- var verbEventName = 'on' + eventName;
- if (window.addEventListener) {
- window.addEventListener(eventName, callback, false);
- }
- else if (window["attachEvent"]) {
- window["attachEvent"].call(verbEventName, callback);
- }
- else {
- return false;
- }
- return true;
- };
- Util.document = typeof document !== "undefined" ? document : {};
- Util.NotSpecified = "not_specified";
- return Util;
- })();
- ApplicationInsights.Util = Util;
- var UrlHelper = (function () {
- function UrlHelper() {
- }
- UrlHelper.parseUrl = function (url) {
- if (!UrlHelper.htmlAnchorElement) {
- UrlHelper.htmlAnchorElement = UrlHelper.document.createElement('a');
- }
- UrlHelper.htmlAnchorElement.href = url;
- return UrlHelper.htmlAnchorElement;
- };
- UrlHelper.getAbsoluteUrl = function (url) {
- var result;
- var a = UrlHelper.parseUrl(url);
- if (a) {
- result = a.href;
- }
- return result;
- };
- UrlHelper.getPathName = function (url) {
- var result;
- var a = UrlHelper.parseUrl(url);
- if (a) {
- result = a.pathname;
- }
- return result;
- };
- UrlHelper.document = typeof document !== "undefined" ? document : {};
- return UrlHelper;
- })();
- ApplicationInsights.UrlHelper = UrlHelper;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../logging.ts" />
- /// <reference path="../util.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- var extensions = (function () {
- function extensions() {
- }
- extensions.IsNullOrUndefined = function (obj) {
- return typeof (obj) === "undefined" || obj === null;
- };
- return extensions;
- })();
- ApplicationInsights.extensions = extensions;
- var stringUtils = (function () {
- function stringUtils() {
- }
- stringUtils.GetLength = function (strObject) {
- var res = 0;
- if (!extensions.IsNullOrUndefined(strObject)) {
- var stringified = "";
- try {
- stringified = strObject.toString();
- }
- catch (ex) {
- }
- res = stringified.length;
- res = isNaN(res) ? 0 : res;
- }
- return res;
- };
- return stringUtils;
- })();
- ApplicationInsights.stringUtils = stringUtils;
- var dateTime = (function () {
- function dateTime() {
- }
- dateTime.Now = (window.performance && window.performance.now) ?
- function () {
- return performance.now();
- }
- :
- function () {
- return new Date().getTime();
- };
- dateTime.GetDuration = function (start, end) {
- var result = null;
- if (start !== 0 && end !== 0 && !extensions.IsNullOrUndefined(start) && !extensions.IsNullOrUndefined(end)) {
- result = end - start;
- }
- return result;
- };
- return dateTime;
- })();
- ApplicationInsights.dateTime = dateTime;
- var EventHelper = (function () {
- function EventHelper() {
- }
- EventHelper.AttachEvent = function (obj, eventNameWithoutOn, handlerRef) {
- var result = false;
- if (!extensions.IsNullOrUndefined(obj)) {
- if (!extensions.IsNullOrUndefined(obj.attachEvent)) {
- obj.attachEvent("on" + eventNameWithoutOn, handlerRef);
- result = true;
- }
- else {
- if (!extensions.IsNullOrUndefined(obj.addEventListener)) {
- obj.addEventListener(eventNameWithoutOn, handlerRef, false);
- result = true;
- }
- }
- }
- return result;
- };
- EventHelper.DetachEvent = function (obj, eventNameWithoutOn, handlerRef) {
- if (!extensions.IsNullOrUndefined(obj)) {
- if (!extensions.IsNullOrUndefined(obj.detachEvent)) {
- obj.detachEvent("on" + eventNameWithoutOn, handlerRef);
- }
- else {
- if (!extensions.IsNullOrUndefined(obj.removeEventListener)) {
- obj.removeEventListener(eventNameWithoutOn, handlerRef, false);
- }
- }
- }
- };
- return EventHelper;
- })();
- ApplicationInsights.EventHelper = EventHelper;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../logging.ts" />
- /// <reference path="../util.ts" />
- /// <reference path="./ajaxUtils.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- var XHRMonitoringState = (function () {
- function XHRMonitoringState() {
- this.openDone = false;
- this.setRequestHeaderDone = false;
- this.sendDone = false;
- this.abortDone = false;
- this.onreadystatechangeCallbackAttached = false;
- }
- return XHRMonitoringState;
- })();
- ApplicationInsights.XHRMonitoringState = XHRMonitoringState;
- var ajaxRecord = (function () {
- function ajaxRecord(id) {
- this.completed = false;
- this.requestHeadersSize = null;
- this.ttfb = null;
- this.responseReceivingDuration = null;
- this.callbackDuration = null;
- this.ajaxTotalDuration = null;
- this.aborted = null;
- this.pageUrl = null;
- this.requestUrl = null;
- this.requestSize = 0;
- this.method = null;
- this.status = null;
- this.requestSentTime = null;
- this.responseStartedTime = null;
- this.responseFinishedTime = null;
- this.callbackFinishedTime = null;
- this.endTime = null;
- this.originalOnreadystatechage = null;
- this.xhrMonitoringState = new XHRMonitoringState();
- this.clientFailure = 0;
- this.CalculateMetrics = function () {
- var self = this;
- self.ajaxTotalDuration = ApplicationInsights.dateTime.GetDuration(self.requestSentTime, self.responseFinishedTime);
- };
- this.id = id;
- }
- ajaxRecord.prototype.getAbsoluteUrl = function () {
- return this.requestUrl ? ApplicationInsights.UrlHelper.getAbsoluteUrl(this.requestUrl) : null;
- };
- ajaxRecord.prototype.getPathName = function () {
- return this.requestUrl ? ApplicationInsights.UrlHelper.getPathName(this.requestUrl) : null;
- };
- return ajaxRecord;
- })();
- ApplicationInsights.ajaxRecord = ajaxRecord;
- ;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- ;
- /// <reference path="../logging.ts" />
- /// <reference path="../util.ts" />
- /// <reference path="./ajaxUtils.ts" />
- /// <reference path="./ajaxRecord.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- var AjaxMonitor = (function () {
- function AjaxMonitor(appInsights) {
- this.currentWindowHost = window.location.host;
- this.appInsights = appInsights;
- this.initialized = false;
- this.Init();
- }
- AjaxMonitor.prototype.Init = function () {
- if (this.supportsMonitoring()) {
- this.instrumentOpen();
- this.instrumentSend();
- this.instrumentAbort();
- this.initialized = true;
- }
- };
- AjaxMonitor.prototype.isMonitoredInstance = function (xhr, excludeAjaxDataValidation) {
- return this.initialized
- && (excludeAjaxDataValidation === true || !ApplicationInsights.extensions.IsNullOrUndefined(xhr.ajaxData))
- && xhr[AjaxMonitor.DisabledPropertyName] !== true;
- };
- AjaxMonitor.prototype.supportsMonitoring = function () {
- var result = false;
- if (!ApplicationInsights.extensions.IsNullOrUndefined(XMLHttpRequest)) {
- result = true;
- }
- return result;
- };
- AjaxMonitor.prototype.instrumentOpen = function () {
- var originalOpen = XMLHttpRequest.prototype.open;
- var ajaxMonitorInstance = this;
- XMLHttpRequest.prototype.open = function (method, url, async) {
- try {
- if (ajaxMonitorInstance.isMonitoredInstance(this, true) &&
- (!this.ajaxData ||
- !this.ajaxData.xhrMonitoringState.openDone)) {
- ajaxMonitorInstance.openHandler(this, method, url, async);
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxOpen, "Failed to monitor XMLHttpRequest.open, monitoring data for this ajax call may be incorrect.", {
- ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this),
- exception: Microsoft.ApplicationInsights.Util.dump(e)
- }));
- }
- return originalOpen.apply(this, arguments);
- };
- };
- AjaxMonitor.prototype.openHandler = function (xhr, method, url, async) {
- var ajaxData = new ApplicationInsights.ajaxRecord(ApplicationInsights.Util.newId());
- ajaxData.method = method;
- ajaxData.requestUrl = url;
- ajaxData.xhrMonitoringState.openDone = true;
- xhr.ajaxData = ajaxData;
- this.attachToOnReadyStateChange(xhr);
- };
- AjaxMonitor.getFailedAjaxDiagnosticsMessage = function (xhr) {
- var result = "";
- try {
- if (!ApplicationInsights.extensions.IsNullOrUndefined(xhr) &&
- !ApplicationInsights.extensions.IsNullOrUndefined(xhr.ajaxData) &&
- !ApplicationInsights.extensions.IsNullOrUndefined(xhr.ajaxData.requestUrl)) {
- result += "(url: '" + xhr.ajaxData.requestUrl + "')";
- }
- }
- catch (e) { }
- return result;
- };
- AjaxMonitor.prototype.instrumentSend = function () {
- var originalSend = XMLHttpRequest.prototype.send;
- var ajaxMonitorInstance = this;
- XMLHttpRequest.prototype.send = function (content) {
- try {
- if (ajaxMonitorInstance.isMonitoredInstance(this) && !this.ajaxData.xhrMonitoringState.sendDone) {
- ajaxMonitorInstance.sendHandler(this, content);
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxSend, "Failed to monitor XMLHttpRequest, monitoring data for this ajax call may be incorrect.", {
- ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this),
- exception: Microsoft.ApplicationInsights.Util.dump(e)
- }));
- }
- return originalSend.apply(this, arguments);
- };
- };
- AjaxMonitor.prototype.sendHandler = function (xhr, content) {
- xhr.ajaxData.requestSentTime = ApplicationInsights.dateTime.Now();
- if (!this.appInsights.config.disableCorrelationHeaders && (ApplicationInsights.UrlHelper.parseUrl(xhr.ajaxData.getAbsoluteUrl()).host == this.currentWindowHost)) {
- xhr.setRequestHeader("x-ms-request-id", xhr.ajaxData.id);
- }
- xhr.ajaxData.xhrMonitoringState.sendDone = true;
- };
- AjaxMonitor.prototype.instrumentAbort = function () {
- var originalAbort = XMLHttpRequest.prototype.abort;
- var ajaxMonitorInstance = this;
- XMLHttpRequest.prototype.abort = function () {
- try {
- if (ajaxMonitorInstance.isMonitoredInstance(this) && !this.ajaxData.xhrMonitoringState.abortDone) {
- this.ajaxData.aborted = 1;
- this.ajaxData.xhrMonitoringState.abortDone = true;
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxAbort, "Failed to monitor XMLHttpRequest.abort, monitoring data for this ajax call may be incorrect.", {
- ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(this),
- exception: Microsoft.ApplicationInsights.Util.dump(e)
- }));
- }
- return originalAbort.apply(this, arguments);
- };
- };
- AjaxMonitor.prototype.attachToOnReadyStateChange = function (xhr) {
- var ajaxMonitorInstance = this;
- xhr.ajaxData.xhrMonitoringState.onreadystatechangeCallbackAttached = ApplicationInsights.EventHelper.AttachEvent(xhr, "readystatechange", function () {
- try {
- if (ajaxMonitorInstance.isMonitoredInstance(xhr)) {
- if (xhr.readyState === 4) {
- ajaxMonitorInstance.onAjaxComplete(xhr);
- }
- }
- }
- catch (e) {
- var exceptionText = Microsoft.ApplicationInsights.Util.dump(e);
- if (!exceptionText || exceptionText.toLowerCase().indexOf("c00c023f") == -1) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxRSC, "Failed to monitor XMLHttpRequest 'readystatechange' event handler, monitoring data for this ajax call may be incorrect.", {
- ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(xhr),
- exception: Microsoft.ApplicationInsights.Util.dump(e)
- }));
- }
- }
- });
- };
- AjaxMonitor.prototype.onAjaxComplete = function (xhr) {
- xhr.ajaxData.responseFinishedTime = ApplicationInsights.dateTime.Now();
- xhr.ajaxData.status = xhr.status;
- xhr.ajaxData.CalculateMetrics();
- if (xhr.ajaxData.ajaxTotalDuration < 0) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedMonitorAjaxDur, "Failed to calculate the duration of the ajax call, monitoring data for this ajax call won't be sent.", {
- ajaxDiagnosticsMessage: AjaxMonitor.getFailedAjaxDiagnosticsMessage(xhr),
- requestSentTime: xhr.ajaxData.requestSentTime,
- responseFinishedTime: xhr.ajaxData.responseFinishedTime
- }));
- }
- else {
- this.appInsights.trackAjax(xhr.ajaxData.id, xhr.ajaxData.getAbsoluteUrl(), xhr.ajaxData.getPathName(), xhr.ajaxData.ajaxTotalDuration, (+(xhr.ajaxData.status)) >= 200 && (+(xhr.ajaxData.status)) < 400, +xhr.ajaxData.status);
- xhr.ajaxData = null;
- }
- };
- AjaxMonitor.instrumentedByAppInsightsName = "InstrumentedByAppInsights";
- AjaxMonitor.DisabledPropertyName = "Microsoft_ApplicationInsights_BypassAjaxInstrumentation";
- return AjaxMonitor;
- })();
- ApplicationInsights.AjaxMonitor = AjaxMonitor;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var HashCodeScoreGenerator = (function () {
- function HashCodeScoreGenerator() {
- }
- HashCodeScoreGenerator.prototype.getHashCodeScore = function (key) {
- var score = this.getHashCode(key) / HashCodeScoreGenerator.INT_MAX_VALUE;
- return score * 100;
- };
- HashCodeScoreGenerator.prototype.getHashCode = function (input) {
- if (input == "") {
- return 0;
- }
- while (input.length < HashCodeScoreGenerator.MIN_INPUT_LENGTH) {
- input = input.concat(input);
- }
- var hash = 5381;
- for (var i = 0; i < input.length; ++i) {
- hash = ((hash << 5) + hash) + input.charCodeAt(i);
- hash = hash & hash;
- }
- return Math.abs(hash);
- };
- HashCodeScoreGenerator.INT_MAX_VALUE = 2147483647;
- HashCodeScoreGenerator.MIN_INPUT_LENGTH = 8;
- return HashCodeScoreGenerator;
- })();
- ApplicationInsights.HashCodeScoreGenerator = HashCodeScoreGenerator;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="logging.ts" />
- /// <reference path="util.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- (function (FieldType) {
- FieldType[FieldType["Default"] = 0] = "Default";
- FieldType[FieldType["Required"] = 1] = "Required";
- FieldType[FieldType["Array"] = 2] = "Array";
- FieldType[FieldType["Hidden"] = 4] = "Hidden";
- })(ApplicationInsights.FieldType || (ApplicationInsights.FieldType = {}));
- var FieldType = ApplicationInsights.FieldType;
- ;
- var Serializer = (function () {
- function Serializer() {
- }
- Serializer.serialize = function (input) {
- var output = Serializer._serializeObject(input, "root");
- return JSON.stringify(output);
- };
- Serializer._serializeObject = function (source, name) {
- var circularReferenceCheck = "__aiCircularRefCheck";
- var output = {};
- if (!source) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_CannotSerializeObject, "cannot serialize object because it is null or undefined", { name: name }));
- return output;
- }
- if (source[circularReferenceCheck]) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_CircularReferenceDetected, "Circular reference detected while serializing object", { name: name }));
- return output;
- }
- if (!source.aiDataContract) {
- if (name === "measurements") {
- output = Serializer._serializeStringMap(source, "number", name);
- }
- else if (name === "properties") {
- output = Serializer._serializeStringMap(source, "string", name);
- }
- else if (name === "tags") {
- output = Serializer._serializeStringMap(source, "string", name);
- }
- else if (ApplicationInsights.Util.isArray(source)) {
- output = Serializer._serializeArray(source, name);
- }
- else {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_CannotSerializeObjectNonSerializable, "Attempting to serialize an object which does not implement ISerializable", { name: name }));
- try {
- JSON.stringify(source);
- output = source;
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, e && typeof e.toString === 'function' ? e.toString() : "Error serializing object");
- }
- }
- return output;
- }
- source[circularReferenceCheck] = true;
- for (var field in source.aiDataContract) {
- var contract = source.aiDataContract[field];
- var isRequired = (typeof contract === "function") ? (contract() & FieldType.Required) : (contract & FieldType.Required);
- var isHidden = (typeof contract === "function") ? (contract() & FieldType.Hidden) : (contract & FieldType.Hidden);
- var isArray = contract & FieldType.Array;
- var isPresent = source[field] !== undefined;
- var isObject = typeof source[field] === "object" && source[field] !== null;
- if (isRequired && !isPresent && !isArray) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_MissingRequiredFieldSpecification, "Missing required field specification. The field is required but not present on source", { field: field, name: name }));
- continue;
- }
- if (isHidden) {
- continue;
- }
- var value;
- if (isObject) {
- if (isArray) {
- value = Serializer._serializeArray(source[field], field);
- }
- else {
- value = Serializer._serializeObject(source[field], field);
- }
- }
- else {
- value = source[field];
- }
- if (value !== undefined) {
- output[field] = value;
- }
- }
- delete source[circularReferenceCheck];
- return output;
- };
- Serializer._serializeArray = function (sources, name) {
- var output = undefined;
- if (!!sources) {
- if (!ApplicationInsights.Util.isArray(sources)) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_ItemNotInArray, "This field was specified as an array in the contract but the item is not an array.\r\n", { name: name }));
- }
- else {
- output = [];
- for (var i = 0; i < sources.length; i++) {
- var source = sources[i];
- var item = Serializer._serializeObject(source, name + "[" + i + "]");
- output.push(item);
- }
- }
- }
- return output;
- };
- Serializer._serializeStringMap = function (map, expectedType, name) {
- var output = undefined;
- if (map) {
- output = {};
- for (var field in map) {
- var value = map[field];
- if (expectedType === "string") {
- if (value === undefined) {
- output[field] = "undefined";
- }
- else if (value === null) {
- output[field] = "null";
- }
- else if (!value.toString) {
- output[field] = "invalid field: toString() is not defined.";
- }
- else {
- output[field] = value.toString();
- }
- }
- else if (expectedType === "number") {
- if (value === undefined) {
- output[field] = "undefined";
- }
- else if (value === null) {
- output[field] = "null";
- }
- else {
- var num = parseFloat(value);
- if (isNaN(num)) {
- output[field] = "NaN";
- }
- else {
- output[field] = num;
- }
- }
- }
- else {
- output[field] = "invalid field: " + name + " is of unknown type.";
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, output[field]);
- }
- }
- }
- return output;
- };
- return Serializer;
- })();
- ApplicationInsights.Serializer = Serializer;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var Microsoft;
- (function (Microsoft) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var Base = (function () {
- function Base() {
- }
- return Base;
- })();
- Telemetry.Base = Base;
- })(Telemetry = Microsoft.Telemetry || (Microsoft.Telemetry = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="Base.ts" />
- var Microsoft;
- (function (Microsoft) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var Envelope = (function () {
- function Envelope() {
- this.ver = 1;
- this.sampleRate = 100.0;
- this.tags = {};
- }
- return Envelope;
- })();
- Telemetry.Envelope = Envelope;
- })(Telemetry = Microsoft.Telemetry || (Microsoft.Telemetry = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../../Contracts/Generated/Envelope.ts" />
- /// <reference path="../../Contracts/Generated/Base.ts" />
- /// <reference path="../../Util.ts"/>
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- __.prototype = b.prototype;
- d.prototype = new __();
- };
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- var Common;
- (function (Common) {
- "use strict";
- var Envelope = (function (_super) {
- __extends(Envelope, _super);
- function Envelope(data, name) {
- var _this = this;
- _super.call(this);
- this.name = name;
- this.data = data;
- this.time = ApplicationInsights.Util.toISOStringForIE8(new Date());
- this.aiDataContract = {
- time: ApplicationInsights.FieldType.Required,
- iKey: ApplicationInsights.FieldType.Required,
- name: ApplicationInsights.FieldType.Required,
- sampleRate: function () {
- return (_this.sampleRate == 100) ? ApplicationInsights.FieldType.Hidden : ApplicationInsights.FieldType.Required;
- },
- tags: ApplicationInsights.FieldType.Required,
- data: ApplicationInsights.FieldType.Required
- };
- }
- return Envelope;
- })(Microsoft.Telemetry.Envelope);
- Common.Envelope = Envelope;
- })(Common = Telemetry.Common || (Telemetry.Common = {}));
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../../Contracts/Generated/Base.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- var Common;
- (function (Common) {
- "use strict";
- var Base = (function (_super) {
- __extends(Base, _super);
- function Base() {
- _super.apply(this, arguments);
- this.aiDataContract = {};
- }
- return Base;
- })(Microsoft.Telemetry.Base);
- Common.Base = Base;
- })(Common = Telemetry.Common || (Telemetry.Common = {}));
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var AI;
- (function (AI) {
- "use strict";
- var ContextTagKeys = (function () {
- function ContextTagKeys() {
- this.applicationVersion = "ai.application.ver";
- this.applicationBuild = "ai.application.build";
- this.applicationTypeId = "ai.application.typeId";
- this.applicationId = "ai.application.applicationId";
- this.deviceId = "ai.device.id";
- this.deviceIp = "ai.device.ip";
- this.deviceLanguage = "ai.device.language";
- this.deviceLocale = "ai.device.locale";
- this.deviceModel = "ai.device.model";
- this.deviceNetwork = "ai.device.network";
- this.deviceNetworkName = "ai.device.networkName";
- this.deviceOEMName = "ai.device.oemName";
- this.deviceOS = "ai.device.os";
- this.deviceOSVersion = "ai.device.osVersion";
- this.deviceRoleInstance = "ai.device.roleInstance";
- this.deviceRoleName = "ai.device.roleName";
- this.deviceScreenResolution = "ai.device.screenResolution";
- this.deviceType = "ai.device.type";
- this.deviceMachineName = "ai.device.machineName";
- this.deviceVMName = "ai.device.vmName";
- this.locationIp = "ai.location.ip";
- this.operationId = "ai.operation.id";
- this.operationName = "ai.operation.name";
- this.operationParentId = "ai.operation.parentId";
- this.operationRootId = "ai.operation.rootId";
- this.operationSyntheticSource = "ai.operation.syntheticSource";
- this.operationIsSynthetic = "ai.operation.isSynthetic";
- this.operationCorrelationVector = "ai.operation.correlationVector";
- this.sessionId = "ai.session.id";
- this.sessionIsFirst = "ai.session.isFirst";
- this.sessionIsNew = "ai.session.isNew";
- this.userAccountAcquisitionDate = "ai.user.accountAcquisitionDate";
- this.userAccountId = "ai.user.accountId";
- this.userAgent = "ai.user.userAgent";
- this.userId = "ai.user.id";
- this.userStoreRegion = "ai.user.storeRegion";
- this.userAuthUserId = "ai.user.authUserId";
- this.userAnonymousUserAcquisitionDate = "ai.user.anonUserAcquisitionDate";
- this.userAuthenticatedUserAcquisitionDate = "ai.user.authUserAcquisitionDate";
- this.sampleRate = "ai.sample.sampleRate";
- this.cloudName = "ai.cloud.name";
- this.cloudRoleVer = "ai.cloud.roleVer";
- this.cloudEnvironment = "ai.cloud.environment";
- this.cloudLocation = "ai.cloud.location";
- this.cloudDeploymentUnit = "ai.cloud.deploymentUnit";
- this.serverDeviceOS = "ai.serverDevice.os";
- this.serverDeviceOSVer = "ai.serverDevice.osVer";
- this.internalSdkVersion = "ai.internal.sdkVersion";
- this.internalAgentVersion = "ai.internal.agentVersion";
- this.internalDataCollectorReceivedTime = "ai.internal.dataCollectorReceivedTime";
- this.internalProfileId = "ai.internal.profileId";
- this.internalProfileClassId = "ai.internal.profileClassId";
- this.internalAccountId = "ai.internal.accountId";
- this.internalApplicationName = "ai.internal.applicationName";
- this.internalInstrumentationKey = "ai.internal.instrumentationKey";
- this.internalTelemetryItemId = "ai.internal.telemetryItemId";
- this.internalApplicationType = "ai.internal.applicationType";
- this.internalRequestSource = "ai.internal.requestSource";
- this.internalFlowType = "ai.internal.flowType";
- this.internalIsAudit = "ai.internal.isAudit";
- this.internalTrackingSourceId = "ai.internal.trackingSourceId";
- this.internalTrackingType = "ai.internal.trackingType";
- this.internalIsDiagnosticExample = "ai.internal.isDiagnosticExample";
- }
- return ContextTagKeys;
- })();
- AI.ContextTagKeys = ContextTagKeys;
- })(AI || (AI = {}));
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Context;
- (function (Context) {
- "use strict";
- var Application = (function () {
- function Application() {
- }
- return Application;
- })();
- Context.Application = Application;
- })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Context;
- (function (Context) {
- "use strict";
- var Device = (function () {
- function Device() {
- this.id = "browser";
- this.type = "Browser";
- }
- return Device;
- })();
- Context.Device = Device;
- })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Context;
- (function (Context) {
- "use strict";
- var Internal = (function () {
- function Internal() {
- this.sdkVersion = "JavaScript:" + ApplicationInsights.Version;
- }
- return Internal;
- })();
- Context.Internal = Internal;
- })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Context;
- (function (Context) {
- "use strict";
- var Location = (function () {
- function Location() {
- }
- return Location;
- })();
- Context.Location = Location;
- })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../util.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Context;
- (function (Context) {
- "use strict";
- var Operation = (function () {
- function Operation() {
- this.id = ApplicationInsights.Util.newId();
- if (window && window.location && window.location.pathname) {
- this.name = window.location.pathname;
- }
- }
- return Operation;
- })();
- Context.Operation = Operation;
- })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="./HashCodeScoreGenerator.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var SamplingScoreGenerator = (function () {
- function SamplingScoreGenerator() {
- this.hashCodeGeneragor = new ApplicationInsights.HashCodeScoreGenerator();
- }
- SamplingScoreGenerator.prototype.getSamplingScore = function (envelope) {
- var tagKeys = new AI.ContextTagKeys();
- var score = 0;
- if (envelope.tags[tagKeys.userId]) {
- score = this.hashCodeGeneragor.getHashCodeScore(envelope.tags[tagKeys.userId]);
- }
- else if (envelope.tags[tagKeys.operationId]) {
- score = this.hashCodeGeneragor.getHashCodeScore(envelope.tags[tagKeys.operationId]);
- }
- else {
- score = Math.random();
- }
- return score;
- };
- return SamplingScoreGenerator;
- })();
- ApplicationInsights.SamplingScoreGenerator = SamplingScoreGenerator;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../SamplingScoreGenerator.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Context;
- (function (Context) {
- "use strict";
- var Sample = (function () {
- function Sample(sampleRate) {
- this.INT_MAX_VALUE = 2147483647;
- if (sampleRate > 100 || sampleRate < 0) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_SampleRateOutOfRange, "Sampling rate is out of range (0..100). Sampling will be disabled, you may be sending too much data which may affect your AI service level.", { samplingRate: sampleRate }));
- this.sampleRate = 100;
- }
- this.sampleRate = sampleRate;
- this.samplingScoreGenerator = new ApplicationInsights.SamplingScoreGenerator();
- }
- Sample.prototype.isSampledIn = function (envelope) {
- if (this.sampleRate == 100)
- return true;
- var score = this.samplingScoreGenerator.getSamplingScore(envelope);
- return score < this.sampleRate;
- };
- return Sample;
- })();
- Context.Sample = Sample;
- })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var AI;
- (function (AI) {
- "use strict";
- (function (SessionState) {
- SessionState[SessionState["Start"] = 0] = "Start";
- SessionState[SessionState["End"] = 1] = "End";
- })(AI.SessionState || (AI.SessionState = {}));
- var SessionState = AI.SessionState;
- })(AI || (AI = {}));
- /// <reference path="../util.ts" />
- /// <reference path="../Contracts/Generated/SessionState.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Context;
- (function (Context) {
- "use strict";
- var Session = (function () {
- function Session() {
- }
- return Session;
- })();
- Context.Session = Session;
- var _SessionManager = (function () {
- function _SessionManager(config) {
- if (!config) {
- config = {};
- }
- if (!(typeof config.sessionExpirationMs === "function")) {
- config.sessionExpirationMs = function () { return _SessionManager.acquisitionSpan; };
- }
- if (!(typeof config.sessionRenewalMs === "function")) {
- config.sessionRenewalMs = function () { return _SessionManager.renewalSpan; };
- }
- this.config = config;
- this.automaticSession = new Session();
- }
- _SessionManager.prototype.update = function () {
- if (!this.automaticSession.id) {
- this.initializeAutomaticSession();
- }
- var now = +new Date;
- var acquisitionExpired = now - this.automaticSession.acquisitionDate > this.config.sessionExpirationMs();
- var renewalExpired = now - this.automaticSession.renewalDate > this.config.sessionRenewalMs();
- if (acquisitionExpired || renewalExpired) {
- this.automaticSession.isFirst = undefined;
- this.renew();
- }
- else {
- this.automaticSession.renewalDate = +new Date;
- this.setCookie(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate);
- }
- };
- _SessionManager.prototype.backup = function () {
- this.setStorage(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate);
- };
- _SessionManager.prototype.initializeAutomaticSession = function () {
- var cookie = ApplicationInsights.Util.getCookie('ai_session');
- if (cookie && typeof cookie.split === "function") {
- this.initializeAutomaticSessionWithData(cookie);
- }
- else {
- var storage = ApplicationInsights.Util.getStorage('ai_session');
- if (storage) {
- this.initializeAutomaticSessionWithData(storage);
- }
- }
- if (!this.automaticSession.id) {
- this.automaticSession.isFirst = true;
- this.renew();
- }
- };
- _SessionManager.prototype.initializeAutomaticSessionWithData = function (sessionData) {
- var params = sessionData.split("|");
- if (params.length > 0) {
- this.automaticSession.id = params[0];
- }
- try {
- if (params.length > 1) {
- var acq = +params[1];
- this.automaticSession.acquisitionDate = +new Date(acq);
- this.automaticSession.acquisitionDate = this.automaticSession.acquisitionDate > 0 ? this.automaticSession.acquisitionDate : 0;
- }
- if (params.length > 2) {
- var renewal = +params[2];
- this.automaticSession.renewalDate = +new Date(renewal);
- this.automaticSession.renewalDate = this.automaticSession.renewalDate > 0 ? this.automaticSession.renewalDate : 0;
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_ErrorParsingAISessionCookie, "Error parsing ai_session cookie, session will be reset: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- if (this.automaticSession.renewalDate == 0) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_SessionRenewalDateIsZero, "AI session renewal date is 0, session will be reset."));
- }
- };
- _SessionManager.prototype.renew = function () {
- var now = +new Date;
- this.automaticSession.id = ApplicationInsights.Util.newId();
- this.automaticSession.acquisitionDate = now;
- this.automaticSession.renewalDate = now;
- this.setCookie(this.automaticSession.id, this.automaticSession.acquisitionDate, this.automaticSession.renewalDate);
- if (!ApplicationInsights.Util.canUseLocalStorage()) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_BrowserDoesNotSupportLocalStorage, "Browser does not support local storage. Session durations will be inaccurate."));
- }
- };
- _SessionManager.prototype.setCookie = function (guid, acq, renewal) {
- var acquisitionExpiry = acq + this.config.sessionExpirationMs();
- var renewalExpiry = renewal + this.config.sessionRenewalMs();
- var cookieExpiry = new Date();
- var cookie = [guid, acq, renewal];
- if (acquisitionExpiry < renewalExpiry) {
- cookieExpiry.setTime(acquisitionExpiry);
- }
- else {
- cookieExpiry.setTime(renewalExpiry);
- }
- var cookieDomnain = this.config.cookieDomain ? this.config.cookieDomain() : null;
- ApplicationInsights.Util.setCookie('ai_session', cookie.join('|') + ';expires=' + cookieExpiry.toUTCString(), cookieDomnain);
- };
- _SessionManager.prototype.setStorage = function (guid, acq, renewal) {
- ApplicationInsights.Util.setStorage('ai_session', [guid, acq, renewal].join('|'));
- };
- _SessionManager.acquisitionSpan = 86400000;
- _SessionManager.renewalSpan = 1800000;
- return _SessionManager;
- })();
- Context._SessionManager = _SessionManager;
- })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../util.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Context;
- (function (Context) {
- "use strict";
- var User = (function () {
- function User(config) {
- var cookie = ApplicationInsights.Util.getCookie(User.userCookieName);
- if (cookie) {
- var params = cookie.split(User.cookieSeparator);
- if (params.length > 0) {
- this.id = params[0];
- }
- }
- this.config = config;
- if (!this.id) {
- this.id = ApplicationInsights.Util.newId();
- var date = new Date();
- var acqStr = ApplicationInsights.Util.toISOStringForIE8(date);
- this.accountAcquisitionDate = acqStr;
- date.setTime(date.getTime() + 31536000000);
- var newCookie = [this.id, acqStr];
- var cookieDomain = this.config.cookieDomain ? this.config.cookieDomain() : undefined;
- ApplicationInsights.Util.setCookie(User.userCookieName, newCookie.join(User.cookieSeparator) + ';expires=' + date.toUTCString(), cookieDomain);
- ApplicationInsights.Util.removeStorage('ai_session');
- }
- this.accountId = config.accountId ? config.accountId() : undefined;
- var authCookie = ApplicationInsights.Util.getCookie(User.authUserCookieName);
- if (authCookie) {
- authCookie = decodeURI(authCookie);
- var authCookieString = authCookie.split(User.cookieSeparator);
- if (authCookieString[0]) {
- this.authenticatedId = authCookieString[0];
- }
- if (authCookieString.length > 1 && authCookieString[1]) {
- this.accountId = authCookieString[1];
- }
- }
- }
- User.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId) {
- var isInvalidInput = !this.validateUserInput(authenticatedUserId) || (accountId && !this.validateUserInput(accountId));
- if (isInvalidInput) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_SetAuthContextFailedAccountName, "Setting auth user context failed. " +
- "User auth/account id should be of type string, and not contain commas, semi-colons, equal signs, spaces, or vertical-bars."));
- return;
- }
- this.authenticatedId = authenticatedUserId;
- var authCookie = this.authenticatedId;
- if (accountId) {
- this.accountId = accountId;
- authCookie = [this.authenticatedId, this.accountId].join(User.cookieSeparator);
- }
- ApplicationInsights.Util.setCookie(User.authUserCookieName, encodeURI(authCookie), this.config.cookieDomain());
- };
- User.prototype.clearAuthenticatedUserContext = function () {
- this.authenticatedId = null;
- this.accountId = null;
- ApplicationInsights.Util.deleteCookie(User.authUserCookieName);
- };
- User.prototype.validateUserInput = function (id) {
- if (typeof id !== 'string' ||
- !id ||
- id.match(/,|;|=| |\|/)) {
- return false;
- }
- return true;
- };
- User.cookieSeparator = '|';
- User.userCookieName = 'ai_user';
- User.authUserCookieName = 'ai_authUser';
- return User;
- })();
- Context.User = User;
- })(Context = ApplicationInsights.Context || (ApplicationInsights.Context = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- var DataLossAnalyzer = (function () {
- function DataLossAnalyzer() {
- }
- DataLossAnalyzer.reset = function () {
- if (DataLossAnalyzer.isEnabled()) {
- ApplicationInsights.Util.setSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY, "0");
- }
- };
- DataLossAnalyzer.isEnabled = function () {
- return DataLossAnalyzer.enabled &&
- DataLossAnalyzer.appInsights != null &&
- ApplicationInsights.Util.canUseSessionStorage();
- };
- DataLossAnalyzer.getIssuesReported = function () {
- var result = (!DataLossAnalyzer.isEnabled() || isNaN(+ApplicationInsights.Util.getSessionStorage(DataLossAnalyzer.ISSUES_REPORTED_KEY))) ?
- 0 :
- +ApplicationInsights.Util.getSessionStorage(DataLossAnalyzer.ISSUES_REPORTED_KEY);
- return result;
- };
- DataLossAnalyzer.incrementItemsQueued = function () {
- try {
- if (DataLossAnalyzer.isEnabled()) {
- var itemsQueued = DataLossAnalyzer.getNumberOfLostItems();
- ++itemsQueued;
- ApplicationInsights.Util.setSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY, itemsQueued.toString());
- }
- }
- catch (e) { }
- };
- DataLossAnalyzer.decrementItemsQueued = function (countOfItemsSentSuccessfully) {
- try {
- if (DataLossAnalyzer.isEnabled()) {
- var itemsQueued = DataLossAnalyzer.getNumberOfLostItems();
- itemsQueued -= countOfItemsSentSuccessfully;
- if (itemsQueued < 0)
- itemsQueued = 0;
- ApplicationInsights.Util.setSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY, itemsQueued.toString());
- }
- }
- catch (e) { }
- };
- DataLossAnalyzer.getNumberOfLostItems = function () {
- var result = 0;
- try {
- if (DataLossAnalyzer.isEnabled()) {
- result = isNaN(+ApplicationInsights.Util.getSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY)) ?
- 0 :
- +ApplicationInsights.Util.getSessionStorage(DataLossAnalyzer.ITEMS_QUEUED_KEY);
- }
- }
- catch (e) {
- result = 0;
- }
- return result;
- };
- DataLossAnalyzer.reportLostItems = function () {
- try {
- if (DataLossAnalyzer.isEnabled() &&
- DataLossAnalyzer.getIssuesReported() < DataLossAnalyzer.LIMIT_PER_SESSION &&
- DataLossAnalyzer.getNumberOfLostItems() > 0) {
- DataLossAnalyzer.appInsights.trackTrace("AI (Internal): Internal report DATALOSS: "
- + DataLossAnalyzer.getNumberOfLostItems(), null);
- DataLossAnalyzer.appInsights.flush();
- var issuesReported = DataLossAnalyzer.getIssuesReported();
- ++issuesReported;
- ApplicationInsights.Util.setSessionStorage(DataLossAnalyzer.ISSUES_REPORTED_KEY, issuesReported.toString());
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedToReportDataLoss, "Failed to report data loss: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- finally {
- try {
- DataLossAnalyzer.reset();
- }
- catch (e) { }
- }
- };
- DataLossAnalyzer.enabled = false;
- DataLossAnalyzer.LIMIT_PER_SESSION = 10;
- DataLossAnalyzer.ITEMS_QUEUED_KEY = "AI_itemsQueued";
- DataLossAnalyzer.ISSUES_REPORTED_KEY = "AI_lossIssuesReported";
- return DataLossAnalyzer;
- })();
- ApplicationInsights.DataLossAnalyzer = DataLossAnalyzer;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="serializer.ts" />
- /// <reference path="Telemetry/Common/Envelope.ts"/>
- /// <reference path="Telemetry/Common/Base.ts" />
- /// <reference path="Contracts/Generated/ContextTagKeys.ts"/>
- /// <reference path="Context/Application.ts"/>
- /// <reference path="Context/Device.ts"/>
- /// <reference path="Context/Internal.ts"/>
- /// <reference path="Context/Location.ts"/>
- /// <reference path="Context/Operation.ts"/>
- /// <reference path="Context/Sample.ts"/>
- /// <reference path="Context/Session.ts"/>
- /// <reference path="Context/User.ts"/>
- /// <reference path="ajax/ajax.ts"/>
- /// <reference path="./DataLossAnalyzer.ts"/>
- ;
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- var Sender = (function () {
- function Sender(config) {
- this._buffer = [];
- this._lastSend = 0;
- this._config = config;
- this._sender = null;
- if (typeof XMLHttpRequest != "undefined") {
- var testXhr = new XMLHttpRequest();
- if ("withCredentials" in testXhr) {
- this._sender = this._xhrSender;
- }
- else if (typeof XDomainRequest !== "undefined") {
- this._sender = this._xdrSender;
- }
- }
- }
- Sender.prototype.send = function (envelope) {
- var _this = this;
- try {
- if (this._config.disableTelemetry()) {
- return;
- }
- if (!envelope) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_CannotSendEmptyTelemetry, "Cannot send empty telemetry"));
- return;
- }
- if (!this._sender) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_SenderNotInitialized, "Sender was not initialized"));
- return;
- }
- var payload = ApplicationInsights.Serializer.serialize(envelope);
- if (this._getSizeInBytes(this._buffer) + payload.length > this._config.maxBatchSizeInBytes()) {
- this.triggerSend();
- }
- this._buffer.push(payload);
- if (!this._timeoutHandle) {
- this._timeoutHandle = setTimeout(function () {
- _this._timeoutHandle = null;
- _this.triggerSend();
- }, this._config.maxBatchInterval());
- }
- ApplicationInsights.DataLossAnalyzer.incrementItemsQueued();
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedAddingTelemetryToBuffer, "Failed adding telemetry to the sender's buffer, some telemetry will be lost: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- Sender.prototype._getSizeInBytes = function (list) {
- var size = 0;
- if (list && list.length) {
- for (var i = 0; i < list.length; i++) {
- var item = list[i];
- if (item && item.length) {
- size += item.length;
- }
- }
- }
- return size;
- };
- Sender.prototype.triggerSend = function (async) {
- var isAsync = true;
- if (typeof async === 'boolean') {
- isAsync = async;
- }
- try {
- if (!this._config.disableTelemetry()) {
- if (this._buffer.length) {
- var batch = this._config.emitLineDelimitedJson() ?
- this._buffer.join("\n") :
- "[" + this._buffer.join(",") + "]";
- this._sender(batch, isAsync, this._buffer.length);
- }
- this._lastSend = +new Date;
- }
- this._buffer.length = 0;
- clearTimeout(this._timeoutHandle);
- this._timeoutHandle = null;
- }
- catch (e) {
- if (!ApplicationInsights.Util.getIEVersion() || ApplicationInsights.Util.getIEVersion() > 9) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TransmissionFailed, "Telemetry transmission failed, some telemetry will be lost: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- }
- };
- Sender.prototype._xhrSender = function (payload, isAsync, countOfItemsInPayload) {
- var xhr = new XMLHttpRequest();
- xhr[ApplicationInsights.AjaxMonitor.DisabledPropertyName] = true;
- xhr.open("POST", this._config.endpointUrl(), isAsync);
- xhr.setRequestHeader("Content-type", "application/json");
- xhr.onreadystatechange = function () { return Sender._xhrReadyStateChange(xhr, payload, countOfItemsInPayload); };
- xhr.onerror = function (event) { return Sender._onError(payload, xhr.responseText || xhr.response || "", event); };
- xhr.send(payload);
- };
- Sender.prototype._xdrSender = function (payload, isAsync) {
- var xdr = new XDomainRequest();
- xdr.onload = function () { return Sender._xdrOnLoad(xdr, payload); };
- xdr.onerror = function (event) { return Sender._onError(payload, xdr.responseText || "", event); };
- xdr.open('POST', this._config.endpointUrl());
- xdr.send(payload);
- };
- Sender._xhrReadyStateChange = function (xhr, payload, countOfItemsInPayload) {
- if (xhr.readyState === 4) {
- if ((xhr.status < 200 || xhr.status >= 300) && xhr.status !== 0) {
- Sender._onError(payload, xhr.responseText || xhr.response || "");
- }
- else {
- Sender._onSuccess(payload, countOfItemsInPayload);
- }
- }
- };
- Sender._xdrOnLoad = function (xdr, payload) {
- if (xdr && (xdr.responseText + "" === "200" || xdr.responseText === "")) {
- Sender._onSuccess(payload, 0);
- }
- else {
- Sender._onError(payload, xdr && xdr.responseText || "");
- }
- };
- Sender._onError = function (payload, message, event) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_OnError, "Failed to send telemetry.", { message: message }));
- };
- Sender._onSuccess = function (payload, countOfItemsInPayload) {
- ApplicationInsights.DataLossAnalyzer.decrementItemsQueued(countOfItemsInPayload);
- };
- return Sender;
- })();
- ApplicationInsights.Sender = Sender;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="./HashCodeScoreGenerator.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- var SplitTest = (function () {
- function SplitTest() {
- this.hashCodeGeneragor = new ApplicationInsights.HashCodeScoreGenerator();
- }
- SplitTest.prototype.isEnabled = function (key, percentEnabled) {
- return this.hashCodeGeneragor.getHashCodeScore(key) < percentEnabled;
- };
- return SplitTest;
- })();
- ApplicationInsights.SplitTest = SplitTest;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var Microsoft;
- (function (Microsoft) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var Domain = (function () {
- function Domain() {
- }
- return Domain;
- })();
- Telemetry.Domain = Domain;
- })(Telemetry = Microsoft.Telemetry || (Microsoft.Telemetry = {}));
- })(Microsoft || (Microsoft = {}));
- var AI;
- (function (AI) {
- "use strict";
- (function (SeverityLevel) {
- SeverityLevel[SeverityLevel["Verbose"] = 0] = "Verbose";
- SeverityLevel[SeverityLevel["Information"] = 1] = "Information";
- SeverityLevel[SeverityLevel["Warning"] = 2] = "Warning";
- SeverityLevel[SeverityLevel["Error"] = 3] = "Error";
- SeverityLevel[SeverityLevel["Critical"] = 4] = "Critical";
- })(AI.SeverityLevel || (AI.SeverityLevel = {}));
- var SeverityLevel = AI.SeverityLevel;
- })(AI || (AI = {}));
- /// <reference path="Domain.ts" />
- /// <reference path="SeverityLevel.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var MessageData = (function (_super) {
- __extends(MessageData, _super);
- function MessageData() {
- this.ver = 2;
- this.properties = {};
- _super.call(this);
- }
- return MessageData;
- })(Microsoft.Telemetry.Domain);
- AI.MessageData = MessageData;
- })(AI || (AI = {}));
- /// <reference path="../../logging.ts" />
- /// <reference path="../../Util.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- var Common;
- (function (Common) {
- "use strict";
- var DataSanitizer = (function () {
- function DataSanitizer() {
- }
- DataSanitizer.sanitizeKeyAndAddUniqueness = function (key, map) {
- var origLength = key.length;
- var field = DataSanitizer.sanitizeKey(key);
- if (field.length !== origLength) {
- var i = 0;
- var uniqueField = field;
- while (map[uniqueField] !== undefined) {
- i++;
- uniqueField = field.substring(0, DataSanitizer.MAX_NAME_LENGTH - 3) + DataSanitizer.padNumber(i);
- }
- field = uniqueField;
- }
- return field;
- };
- DataSanitizer.sanitizeKey = function (name) {
- if (name) {
- name = ApplicationInsights.Util.trim(name.toString());
- if (name.search(/[^0-9a-zA-Z-._()\/ ]/g) >= 0) {
- name = name.replace(/[^0-9a-zA-Z-._()\/ ]/g, "_");
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_IllegalCharsInName, "name contains illegal characters. Illegal characters have been replaced with '_'.", { newName: name }));
- }
- if (name.length > DataSanitizer.MAX_NAME_LENGTH) {
- name = name.substring(0, DataSanitizer.MAX_NAME_LENGTH);
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_NameTooLong, "name is too long. It has been truncated to " + DataSanitizer.MAX_NAME_LENGTH + " characters.", { name: name }));
- }
- }
- return name;
- };
- DataSanitizer.sanitizeString = function (value) {
- if (value) {
- value = ApplicationInsights.Util.trim(value);
- if (value.toString().length > DataSanitizer.MAX_STRING_LENGTH) {
- value = value.toString().substring(0, DataSanitizer.MAX_STRING_LENGTH);
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_StringValueTooLong, "string value is too long. It has been truncated to " + DataSanitizer.MAX_STRING_LENGTH + " characters.", { value: value }));
- }
- }
- return value;
- };
- DataSanitizer.sanitizeUrl = function (url) {
- if (url) {
- if (url.length > DataSanitizer.MAX_URL_LENGTH) {
- url = url.substring(0, DataSanitizer.MAX_URL_LENGTH);
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_UrlTooLong, "url is too long, it has been trucated to " + DataSanitizer.MAX_URL_LENGTH + " characters.", { url: url }));
- }
- }
- return url;
- };
- DataSanitizer.sanitizeMessage = function (message) {
- if (message) {
- if (message.length > DataSanitizer.MAX_MESSAGE_LENGTH) {
- message = message.substring(0, DataSanitizer.MAX_MESSAGE_LENGTH);
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_MessageTruncated, "message is too long, it has been trucated to " + DataSanitizer.MAX_MESSAGE_LENGTH + " characters.", { message: message }));
- }
- }
- return message;
- };
- DataSanitizer.sanitizeException = function (exception) {
- if (exception) {
- if (exception.length > DataSanitizer.MAX_EXCEPTION_LENGTH) {
- exception = exception.substring(0, DataSanitizer.MAX_EXCEPTION_LENGTH);
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_ExceptionTruncated, "exception is too long, it has been trucated to " + DataSanitizer.MAX_EXCEPTION_LENGTH + " characters.", { exception: exception }));
- }
- }
- return exception;
- };
- DataSanitizer.sanitizeProperties = function (properties) {
- if (properties) {
- var tempProps = {};
- for (var prop in properties) {
- var value = DataSanitizer.sanitizeString(properties[prop]);
- prop = DataSanitizer.sanitizeKeyAndAddUniqueness(prop, tempProps);
- tempProps[prop] = value;
- }
- properties = tempProps;
- }
- return properties;
- };
- DataSanitizer.sanitizeMeasurements = function (measurements) {
- if (measurements) {
- var tempMeasurements = {};
- for (var measure in measurements) {
- var value = measurements[measure];
- measure = DataSanitizer.sanitizeKeyAndAddUniqueness(measure, tempMeasurements);
- tempMeasurements[measure] = value;
- }
- measurements = tempMeasurements;
- }
- return measurements;
- };
- DataSanitizer.padNumber = function (num) {
- var s = "00" + num;
- return s.substr(s.length - 3);
- };
- DataSanitizer.MAX_NAME_LENGTH = 150;
- DataSanitizer.MAX_STRING_LENGTH = 1024;
- DataSanitizer.MAX_URL_LENGTH = 2048;
- DataSanitizer.MAX_MESSAGE_LENGTH = 32768;
- DataSanitizer.MAX_EXCEPTION_LENGTH = 32768;
- return DataSanitizer;
- })();
- Common.DataSanitizer = DataSanitizer;
- })(Common = Telemetry.Common || (Telemetry.Common = {}));
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../Contracts/Generated/MessageData.ts" />
- /// <reference path="./Common/DataSanitizer.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var Trace = (function (_super) {
- __extends(Trace, _super);
- function Trace(message, properties) {
- _super.call(this);
- this.aiDataContract = {
- ver: ApplicationInsights.FieldType.Required,
- message: ApplicationInsights.FieldType.Required,
- severityLevel: ApplicationInsights.FieldType.Default,
- measurements: ApplicationInsights.FieldType.Default,
- properties: ApplicationInsights.FieldType.Default
- };
- message = message || ApplicationInsights.Util.NotSpecified;
- this.message = Telemetry.Common.DataSanitizer.sanitizeMessage(message);
- this.properties = Telemetry.Common.DataSanitizer.sanitizeProperties(properties);
- }
- Trace.envelopeType = "Microsoft.ApplicationInsights.{0}.Message";
- Trace.dataType = "MessageData";
- return Trace;
- })(AI.MessageData);
- Telemetry.Trace = Trace;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="Domain.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var EventData = (function (_super) {
- __extends(EventData, _super);
- function EventData() {
- this.ver = 2;
- this.properties = {};
- this.measurements = {};
- _super.call(this);
- }
- return EventData;
- })(Microsoft.Telemetry.Domain);
- AI.EventData = EventData;
- })(AI || (AI = {}));
- /// <reference path="../Contracts/Generated/EventData.ts" />
- /// <reference path="./Common/DataSanitizer.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var Event = (function (_super) {
- __extends(Event, _super);
- function Event(name, properties, measurements) {
- _super.call(this);
- this.aiDataContract = {
- ver: ApplicationInsights.FieldType.Required,
- name: ApplicationInsights.FieldType.Required,
- properties: ApplicationInsights.FieldType.Default,
- measurements: ApplicationInsights.FieldType.Default
- };
- this.name = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeString(name);
- this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties);
- this.measurements = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeMeasurements(measurements);
- }
- Event.envelopeType = "Microsoft.ApplicationInsights.{0}.Event";
- Event.dataType = "EventData";
- return Event;
- })(AI.EventData);
- Telemetry.Event = Event;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var AI;
- (function (AI) {
- "use strict";
- var ExceptionDetails = (function () {
- function ExceptionDetails() {
- this.hasFullStack = true;
- this.parsedStack = [];
- }
- return ExceptionDetails;
- })();
- AI.ExceptionDetails = ExceptionDetails;
- })(AI || (AI = {}));
- /// <reference path="Domain.ts" />
- /// <reference path="SeverityLevel.ts" />
- /// <reference path="ExceptionDetails.ts"/>
- var AI;
- (function (AI) {
- "use strict";
- var ExceptionData = (function (_super) {
- __extends(ExceptionData, _super);
- function ExceptionData() {
- this.ver = 2;
- this.exceptions = [];
- this.properties = {};
- this.measurements = {};
- _super.call(this);
- }
- return ExceptionData;
- })(Microsoft.Telemetry.Domain);
- AI.ExceptionData = ExceptionData;
- })(AI || (AI = {}));
- var AI;
- (function (AI) {
- "use strict";
- var StackFrame = (function () {
- function StackFrame() {
- }
- return StackFrame;
- })();
- AI.StackFrame = StackFrame;
- })(AI || (AI = {}));
- /// <reference path="../Contracts/Generated/ExceptionData.ts" />
- /// <reference path="../Contracts/Generated/StackFrame.ts" />
- /// <reference path="./Common/DataSanitizer.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var Exception = (function (_super) {
- __extends(Exception, _super);
- function Exception(exception, handledAt, properties, measurements) {
- _super.call(this);
- this.aiDataContract = {
- ver: ApplicationInsights.FieldType.Required,
- handledAt: ApplicationInsights.FieldType.Required,
- exceptions: ApplicationInsights.FieldType.Required,
- severityLevel: ApplicationInsights.FieldType.Default,
- properties: ApplicationInsights.FieldType.Default,
- measurements: ApplicationInsights.FieldType.Default
- };
- this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties);
- this.measurements = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeMeasurements(measurements);
- this.handledAt = handledAt || "unhandled";
- this.exceptions = [new _ExceptionDetails(exception)];
- }
- Exception.CreateSimpleException = function (message, typeName, assembly, fileName, details, line, handledAt) {
- return {
- handledAt: handledAt || "unhandled",
- exceptions: [
- {
- hasFullStack: true,
- message: message,
- stack: details,
- typeName: typeName,
- parsedStack: [
- {
- level: 0,
- assembly: assembly,
- fileName: fileName,
- line: line,
- method: "unknown"
- }
- ]
- }
- ]
- };
- };
- Exception.envelopeType = "Microsoft.ApplicationInsights.{0}.Exception";
- Exception.dataType = "ExceptionData";
- return Exception;
- })(AI.ExceptionData);
- Telemetry.Exception = Exception;
- var _ExceptionDetails = (function (_super) {
- __extends(_ExceptionDetails, _super);
- function _ExceptionDetails(exception) {
- _super.call(this);
- this.aiDataContract = {
- id: ApplicationInsights.FieldType.Default,
- outerId: ApplicationInsights.FieldType.Default,
- typeName: ApplicationInsights.FieldType.Required,
- message: ApplicationInsights.FieldType.Required,
- hasFullStack: ApplicationInsights.FieldType.Default,
- stack: ApplicationInsights.FieldType.Default,
- parsedStack: ApplicationInsights.FieldType.Array
- };
- this.typeName = Telemetry.Common.DataSanitizer.sanitizeString(exception.name || ApplicationInsights.Util.NotSpecified);
- this.message = Telemetry.Common.DataSanitizer.sanitizeMessage(exception.message || ApplicationInsights.Util.NotSpecified);
- var stack = exception["stack"];
- this.parsedStack = this.parseStack(stack);
- this.stack = Telemetry.Common.DataSanitizer.sanitizeException(stack);
- this.hasFullStack = ApplicationInsights.Util.isArray(this.parsedStack) && this.parsedStack.length > 0;
- }
- _ExceptionDetails.prototype.parseStack = function (stack) {
- var parsedStack = undefined;
- if (typeof stack === "string") {
- var frames = stack.split('\n');
- parsedStack = [];
- var level = 0;
- var totalSizeInBytes = 0;
- for (var i = 0; i <= frames.length; i++) {
- var frame = frames[i];
- if (_StackFrame.regex.test(frame)) {
- var parsedFrame = new _StackFrame(frames[i], level++);
- totalSizeInBytes += parsedFrame.sizeInBytes;
- parsedStack.push(parsedFrame);
- }
- }
- var exceptionParsedStackThreshold = 32 * 1024;
- if (totalSizeInBytes > exceptionParsedStackThreshold) {
- var left = 0;
- var right = parsedStack.length - 1;
- var size = 0;
- var acceptedLeft = left;
- var acceptedRight = right;
- while (left < right) {
- var lSize = parsedStack[left].sizeInBytes;
- var rSize = parsedStack[right].sizeInBytes;
- size += lSize + rSize;
- if (size > exceptionParsedStackThreshold) {
- var howMany = acceptedRight - acceptedLeft + 1;
- parsedStack.splice(acceptedLeft, howMany);
- break;
- }
- acceptedLeft = left;
- acceptedRight = right;
- left++;
- right--;
- }
- }
- }
- return parsedStack;
- };
- return _ExceptionDetails;
- })(AI.ExceptionDetails);
- var _StackFrame = (function (_super) {
- __extends(_StackFrame, _super);
- function _StackFrame(frame, level) {
- _super.call(this);
- this.sizeInBytes = 0;
- this.aiDataContract = {
- level: ApplicationInsights.FieldType.Required,
- method: ApplicationInsights.FieldType.Required,
- assembly: ApplicationInsights.FieldType.Default,
- fileName: ApplicationInsights.FieldType.Default,
- line: ApplicationInsights.FieldType.Default
- };
- this.level = level;
- this.method = "<no_method>";
- this.assembly = ApplicationInsights.Util.trim(frame);
- var matches = frame.match(_StackFrame.regex);
- if (matches && matches.length >= 5) {
- this.method = ApplicationInsights.Util.trim(matches[2]) || this.method;
- this.fileName = ApplicationInsights.Util.trim(matches[4]);
- this.line = parseInt(matches[5]) || 0;
- }
- this.sizeInBytes += this.method.length;
- this.sizeInBytes += this.fileName.length;
- this.sizeInBytes += this.assembly.length;
- this.sizeInBytes += _StackFrame.baseSize;
- this.sizeInBytes += this.level.toString().length;
- this.sizeInBytes += this.line.toString().length;
- }
- _StackFrame.regex = /^([\s]+at)?(.*?)(\@|\s\(|\s)([^\(\@\n]+):([0-9]+):([0-9]+)(\)?)$/;
- _StackFrame.baseSize = 58;
- return _StackFrame;
- })(AI.StackFrame);
- Telemetry._StackFrame = _StackFrame;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="Domain.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var MetricData = (function (_super) {
- __extends(MetricData, _super);
- function MetricData() {
- this.ver = 2;
- this.metrics = [];
- this.properties = {};
- _super.call(this);
- }
- return MetricData;
- })(Microsoft.Telemetry.Domain);
- AI.MetricData = MetricData;
- })(AI || (AI = {}));
- var AI;
- (function (AI) {
- "use strict";
- (function (DataPointType) {
- DataPointType[DataPointType["Measurement"] = 0] = "Measurement";
- DataPointType[DataPointType["Aggregation"] = 1] = "Aggregation";
- })(AI.DataPointType || (AI.DataPointType = {}));
- var DataPointType = AI.DataPointType;
- })(AI || (AI = {}));
- /// <reference path="DataPointType.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var DataPoint = (function () {
- function DataPoint() {
- this.kind = AI.DataPointType.Measurement;
- }
- return DataPoint;
- })();
- AI.DataPoint = DataPoint;
- })(AI || (AI = {}));
- /// <reference path="../../Contracts/Generated/DataPoint.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- var Common;
- (function (Common) {
- "use strict";
- var DataPoint = (function (_super) {
- __extends(DataPoint, _super);
- function DataPoint() {
- _super.apply(this, arguments);
- this.aiDataContract = {
- name: ApplicationInsights.FieldType.Required,
- kind: ApplicationInsights.FieldType.Default,
- value: ApplicationInsights.FieldType.Required,
- count: ApplicationInsights.FieldType.Default,
- min: ApplicationInsights.FieldType.Default,
- max: ApplicationInsights.FieldType.Default,
- stdDev: ApplicationInsights.FieldType.Default
- };
- }
- return DataPoint;
- })(AI.DataPoint);
- Common.DataPoint = DataPoint;
- })(Common = Telemetry.Common || (Telemetry.Common = {}));
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../Contracts/Generated/MetricData.ts" />
- /// <reference path="./Common/DataSanitizer.ts" />
- /// <reference path="./Common/DataPoint.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var Metric = (function (_super) {
- __extends(Metric, _super);
- function Metric(name, value, count, min, max, properties) {
- _super.call(this);
- this.aiDataContract = {
- ver: ApplicationInsights.FieldType.Required,
- metrics: ApplicationInsights.FieldType.Required,
- properties: ApplicationInsights.FieldType.Default
- };
- var dataPoint = new Microsoft.ApplicationInsights.Telemetry.Common.DataPoint();
- dataPoint.count = count > 0 ? count : undefined;
- dataPoint.max = isNaN(max) || max === null ? undefined : max;
- dataPoint.min = isNaN(min) || min === null ? undefined : min;
- dataPoint.name = Telemetry.Common.DataSanitizer.sanitizeString(name);
- dataPoint.value = value;
- this.metrics = [dataPoint];
- this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties);
- }
- Metric.envelopeType = "Microsoft.ApplicationInsights.{0}.Metric";
- Metric.dataType = "MetricData";
- return Metric;
- })(AI.MetricData);
- Telemetry.Metric = Metric;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="EventData.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var PageViewData = (function (_super) {
- __extends(PageViewData, _super);
- function PageViewData() {
- this.ver = 2;
- this.properties = {};
- this.measurements = {};
- _super.call(this);
- }
- return PageViewData;
- })(AI.EventData);
- AI.PageViewData = PageViewData;
- })(AI || (AI = {}));
- /// <reference path="../Contracts/Generated/PageViewData.ts" />
- /// <reference path="./Common/DataSanitizer.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var PageView = (function (_super) {
- __extends(PageView, _super);
- function PageView(name, url, durationMs, properties, measurements) {
- _super.call(this);
- this.aiDataContract = {
- ver: ApplicationInsights.FieldType.Required,
- name: ApplicationInsights.FieldType.Default,
- url: ApplicationInsights.FieldType.Default,
- duration: ApplicationInsights.FieldType.Default,
- properties: ApplicationInsights.FieldType.Default,
- measurements: ApplicationInsights.FieldType.Default
- };
- this.url = Telemetry.Common.DataSanitizer.sanitizeUrl(url);
- this.name = Telemetry.Common.DataSanitizer.sanitizeString(name || ApplicationInsights.Util.NotSpecified);
- if (!isNaN(durationMs)) {
- this.duration = ApplicationInsights.Util.msToTimeSpan(durationMs);
- }
- this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties);
- this.measurements = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeMeasurements(measurements);
- }
- PageView.envelopeType = "Microsoft.ApplicationInsights.{0}.Pageview";
- PageView.dataType = "PageviewData";
- return PageView;
- })(AI.PageViewData);
- Telemetry.PageView = PageView;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="PageViewData.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var PageViewPerfData = (function (_super) {
- __extends(PageViewPerfData, _super);
- function PageViewPerfData() {
- this.ver = 2;
- this.properties = {};
- this.measurements = {};
- _super.call(this);
- }
- return PageViewPerfData;
- })(AI.PageViewData);
- AI.PageViewPerfData = PageViewPerfData;
- })(AI || (AI = {}));
- /// <reference path="../Contracts/Generated/PageViewPerfData.ts"/>
- /// <reference path="./Common/DataSanitizer.ts"/>
- /// <reference path="../Util.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var PageViewPerformance = (function (_super) {
- __extends(PageViewPerformance, _super);
- function PageViewPerformance(name, url, unused, properties, measurements) {
- _super.call(this);
- this.aiDataContract = {
- ver: ApplicationInsights.FieldType.Required,
- name: ApplicationInsights.FieldType.Default,
- url: ApplicationInsights.FieldType.Default,
- duration: ApplicationInsights.FieldType.Default,
- perfTotal: ApplicationInsights.FieldType.Default,
- networkConnect: ApplicationInsights.FieldType.Default,
- sentRequest: ApplicationInsights.FieldType.Default,
- receivedResponse: ApplicationInsights.FieldType.Default,
- domProcessing: ApplicationInsights.FieldType.Default,
- properties: ApplicationInsights.FieldType.Default,
- measurements: ApplicationInsights.FieldType.Default
- };
- this.isValid = false;
- var timing = PageViewPerformance.getPerformanceTiming();
- if (timing) {
- var total = PageViewPerformance.getDuration(timing.navigationStart, timing.loadEventEnd);
- var network = PageViewPerformance.getDuration(timing.navigationStart, timing.connectEnd);
- var request = PageViewPerformance.getDuration(timing.requestStart, timing.responseStart);
- var response = PageViewPerformance.getDuration(timing.responseStart, timing.responseEnd);
- var dom = PageViewPerformance.getDuration(timing.responseEnd, timing.loadEventEnd);
- if (total == 0) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_ErrorPVCalc, "error calculating page view performance.", { total: total, network: network, request: request, response: response, dom: dom }));
- }
- else if (total < Math.floor(network) + Math.floor(request) + Math.floor(response) + Math.floor(dom)) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_ClientPerformanceMathError, "client performance math error.", { total: total, network: network, request: request, response: response, dom: dom }));
- }
- else {
- this.durationMs = total;
- this.perfTotal = this.duration = ApplicationInsights.Util.msToTimeSpan(total);
- this.networkConnect = ApplicationInsights.Util.msToTimeSpan(network);
- this.sentRequest = ApplicationInsights.Util.msToTimeSpan(request);
- this.receivedResponse = ApplicationInsights.Util.msToTimeSpan(response);
- this.domProcessing = ApplicationInsights.Util.msToTimeSpan(dom);
- this.isValid = true;
- }
- }
- this.url = Telemetry.Common.DataSanitizer.sanitizeUrl(url);
- this.name = Telemetry.Common.DataSanitizer.sanitizeString(name || ApplicationInsights.Util.NotSpecified);
- this.properties = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeProperties(properties);
- this.measurements = ApplicationInsights.Telemetry.Common.DataSanitizer.sanitizeMeasurements(measurements);
- }
- PageViewPerformance.prototype.getIsValid = function () {
- return this.isValid;
- };
- PageViewPerformance.prototype.getDurationMs = function () {
- return this.durationMs;
- };
- PageViewPerformance.getPerformanceTiming = function () {
- if (typeof window != "undefined" && window.performance && window.performance.timing) {
- return window.performance.timing;
- }
- return null;
- };
- PageViewPerformance.isPerformanceTimingSupported = function () {
- return typeof window != "undefined" && window.performance && window.performance.timing;
- };
- PageViewPerformance.isPerformanceTimingDataReady = function () {
- var timing = window.performance.timing;
- return timing.domainLookupStart > 0
- && timing.navigationStart > 0
- && timing.responseStart > 0
- && timing.requestStart > 0
- && timing.loadEventEnd > 0
- && timing.responseEnd > 0
- && timing.connectEnd > 0
- && timing.domLoading > 0;
- };
- PageViewPerformance.getDuration = function (start, end) {
- var duration = 0;
- if (!(isNaN(start) || isNaN(end))) {
- duration = Math.max(end - start, 0);
- }
- return duration;
- };
- PageViewPerformance.envelopeType = "Microsoft.ApplicationInsights.{0}.PageviewPerformance";
- PageViewPerformance.dataType = "PageviewPerformanceData";
- return PageViewPerformance;
- })(AI.PageViewPerfData);
- Telemetry.PageViewPerformance = PageViewPerformance;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="sender.ts"/>
- /// <reference path="telemetry/trace.ts" />
- /// <reference path="telemetry/event.ts" />
- /// <reference path="telemetry/exception.ts" />
- /// <reference path="telemetry/metric.ts" />
- /// <reference path="telemetry/pageview.ts" />
- /// <reference path="telemetry/pageviewperformance.ts" />
- /// <reference path="./Util.ts"/>
- /// <reference path="./Contracts/Generated/SessionState.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- var TelemetryContext = (function () {
- function TelemetryContext(config) {
- this._config = config;
- this._sender = new ApplicationInsights.Sender(config);
- if (typeof window !== 'undefined') {
- this._sessionManager = new ApplicationInsights.Context._SessionManager(config);
- this.application = new ApplicationInsights.Context.Application();
- this.device = new ApplicationInsights.Context.Device();
- this.internal = new ApplicationInsights.Context.Internal();
- this.location = new ApplicationInsights.Context.Location();
- this.user = new ApplicationInsights.Context.User(config);
- this.operation = new ApplicationInsights.Context.Operation();
- this.session = new ApplicationInsights.Context.Session();
- this.sample = new ApplicationInsights.Context.Sample(config.sampleRate());
- }
- }
- TelemetryContext.prototype.addTelemetryInitializer = function (telemetryInitializer) {
- this.telemetryInitializers = this.telemetryInitializers || [];
- this.telemetryInitializers.push(telemetryInitializer);
- };
- TelemetryContext.prototype.track = function (envelope) {
- if (!envelope) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_TrackArgumentsNotSpecified, "cannot call .track() with a null or undefined argument"));
- }
- else {
- if (envelope.name === ApplicationInsights.Telemetry.PageView.envelopeType) {
- ApplicationInsights._InternalLogging.resetInternalMessageCount();
- }
- if (this.session) {
- if (typeof this.session.id !== "string") {
- this._sessionManager.update();
- }
- }
- this._track(envelope);
- }
- return envelope;
- };
- TelemetryContext.prototype._track = function (envelope) {
- if (this.session) {
- if (typeof this.session.id === "string") {
- this._applySessionContext(envelope, this.session);
- }
- else {
- this._applySessionContext(envelope, this._sessionManager.automaticSession);
- }
- }
- this._applyApplicationContext(envelope, this.application);
- this._applyDeviceContext(envelope, this.device);
- this._applyInternalContext(envelope, this.internal);
- this._applyLocationContext(envelope, this.location);
- this._applySampleContext(envelope, this.sample);
- this._applyUserContext(envelope, this.user);
- this._applyOperationContext(envelope, this.operation);
- envelope.iKey = this._config.instrumentationKey();
- var doNotSendItem = false;
- try {
- this.telemetryInitializers = this.telemetryInitializers || [];
- var telemetryInitializersCount = this.telemetryInitializers.length;
- for (var i = 0; i < telemetryInitializersCount; ++i) {
- var telemetryInitializer = this.telemetryInitializers[i];
- if (telemetryInitializer) {
- if (telemetryInitializer.apply(null, [envelope]) === false) {
- doNotSendItem = true;
- break;
- }
- }
- }
- }
- catch (e) {
- doNotSendItem = true;
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_TelemetryInitializerFailed, "One of telemetry initializers failed, telemetry item will not be sent: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- if (!doNotSendItem) {
- if (envelope.name === ApplicationInsights.Telemetry.Metric.envelopeType ||
- this.sample.isSampledIn(envelope)) {
- var iKeyNoDashes = this._config.instrumentationKey().replace(/-/g, "");
- envelope.name = envelope.name.replace("{0}", iKeyNoDashes);
- this._sender.send(envelope);
- }
- else {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TelemetrySampledAndNotSent, "Telemetry is sampled and not sent to the AI service.", { SampleRate: this.sample.sampleRate }));
- }
- }
- return envelope;
- };
- TelemetryContext.prototype._applyApplicationContext = function (envelope, appContext) {
- if (appContext) {
- var tagKeys = new AI.ContextTagKeys();
- if (typeof appContext.ver === "string") {
- envelope.tags[tagKeys.applicationVersion] = appContext.ver;
- }
- if (typeof appContext.build === "string") {
- envelope.tags[tagKeys.applicationBuild] = appContext.build;
- }
- }
- };
- TelemetryContext.prototype._applyDeviceContext = function (envelope, deviceContext) {
- var tagKeys = new AI.ContextTagKeys();
- if (deviceContext) {
- if (typeof deviceContext.id === "string") {
- envelope.tags[tagKeys.deviceId] = deviceContext.id;
- }
- if (typeof deviceContext.ip === "string") {
- envelope.tags[tagKeys.deviceIp] = deviceContext.ip;
- }
- if (typeof deviceContext.language === "string") {
- envelope.tags[tagKeys.deviceLanguage] = deviceContext.language;
- }
- if (typeof deviceContext.locale === "string") {
- envelope.tags[tagKeys.deviceLocale] = deviceContext.locale;
- }
- if (typeof deviceContext.model === "string") {
- envelope.tags[tagKeys.deviceModel] = deviceContext.model;
- }
- if (typeof deviceContext.network !== "undefined") {
- envelope.tags[tagKeys.deviceNetwork] = deviceContext.network;
- }
- if (typeof deviceContext.oemName === "string") {
- envelope.tags[tagKeys.deviceOEMName] = deviceContext.oemName;
- }
- if (typeof deviceContext.os === "string") {
- envelope.tags[tagKeys.deviceOS] = deviceContext.os;
- }
- if (typeof deviceContext.osversion === "string") {
- envelope.tags[tagKeys.deviceOSVersion] = deviceContext.osversion;
- }
- if (typeof deviceContext.resolution === "string") {
- envelope.tags[tagKeys.deviceScreenResolution] = deviceContext.resolution;
- }
- if (typeof deviceContext.type === "string") {
- envelope.tags[tagKeys.deviceType] = deviceContext.type;
- }
- }
- };
- TelemetryContext.prototype._applyInternalContext = function (envelope, internalContext) {
- if (internalContext) {
- var tagKeys = new AI.ContextTagKeys();
- if (typeof internalContext.agentVersion === "string") {
- envelope.tags[tagKeys.internalAgentVersion] = internalContext.agentVersion;
- }
- if (typeof internalContext.sdkVersion === "string") {
- envelope.tags[tagKeys.internalSdkVersion] = internalContext.sdkVersion;
- }
- }
- };
- TelemetryContext.prototype._applyLocationContext = function (envelope, locationContext) {
- if (locationContext) {
- var tagKeys = new AI.ContextTagKeys();
- if (typeof locationContext.ip === "string") {
- envelope.tags[tagKeys.locationIp] = locationContext.ip;
- }
- }
- };
- TelemetryContext.prototype._applyOperationContext = function (envelope, operationContext) {
- if (operationContext) {
- var tagKeys = new AI.ContextTagKeys();
- if (typeof operationContext.id === "string") {
- envelope.tags[tagKeys.operationId] = operationContext.id;
- }
- if (typeof operationContext.name === "string") {
- envelope.tags[tagKeys.operationName] = operationContext.name;
- }
- if (typeof operationContext.parentId === "string") {
- envelope.tags[tagKeys.operationParentId] = operationContext.parentId;
- }
- if (typeof operationContext.rootId === "string") {
- envelope.tags[tagKeys.operationRootId] = operationContext.rootId;
- }
- if (typeof operationContext.syntheticSource === "string") {
- envelope.tags[tagKeys.operationSyntheticSource] = operationContext.syntheticSource;
- }
- }
- };
- TelemetryContext.prototype._applySampleContext = function (envelope, sampleContext) {
- if (sampleContext) {
- envelope.sampleRate = sampleContext.sampleRate;
- }
- };
- TelemetryContext.prototype._applySessionContext = function (envelope, sessionContext) {
- if (sessionContext) {
- var tagKeys = new AI.ContextTagKeys();
- if (typeof sessionContext.id === "string") {
- envelope.tags[tagKeys.sessionId] = sessionContext.id;
- }
- if (typeof sessionContext.isFirst !== "undefined") {
- envelope.tags[tagKeys.sessionIsFirst] = sessionContext.isFirst;
- }
- }
- };
- TelemetryContext.prototype._applyUserContext = function (envelope, userContext) {
- if (userContext) {
- var tagKeys = new AI.ContextTagKeys();
- if (typeof userContext.accountId === "string") {
- envelope.tags[tagKeys.userAccountId] = userContext.accountId;
- }
- if (typeof userContext.agent === "string") {
- envelope.tags[tagKeys.userAgent] = userContext.agent;
- }
- if (typeof userContext.id === "string") {
- envelope.tags[tagKeys.userId] = userContext.id;
- }
- if (typeof userContext.authenticatedId === "string") {
- envelope.tags[tagKeys.userAuthUserId] = userContext.authenticatedId;
- }
- if (typeof userContext.storeRegion === "string") {
- envelope.tags[tagKeys.userStoreRegion] = userContext.storeRegion;
- }
- }
- };
- return TelemetryContext;
- })();
- ApplicationInsights.TelemetryContext = TelemetryContext;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="Base.ts" />
- var Microsoft;
- (function (Microsoft) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var Data = (function (_super) {
- __extends(Data, _super);
- function Data() {
- _super.call(this);
- }
- return Data;
- })(Microsoft.Telemetry.Base);
- Telemetry.Data = Data;
- })(Telemetry = Microsoft.Telemetry || (Microsoft.Telemetry = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../../Contracts/Generated/Data.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- var Common;
- (function (Common) {
- "use strict";
- var Data = (function (_super) {
- __extends(Data, _super);
- function Data(type, data) {
- _super.call(this);
- this.aiDataContract = {
- baseType: ApplicationInsights.FieldType.Required,
- baseData: ApplicationInsights.FieldType.Required
- };
- this.baseType = type;
- this.baseData = data;
- }
- return Data;
- })(Microsoft.Telemetry.Data);
- Common.Data = Data;
- })(Common = Telemetry.Common || (Telemetry.Common = {}));
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../Contracts/Generated/PageViewData.ts" />
- /// <reference path="./Common/DataSanitizer.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var PageViewManager = (function () {
- function PageViewManager(appInsights, overridePageViewDuration) {
- this.pageViewPerformanceSent = false;
- this.overridePageViewDuration = false;
- this.overridePageViewDuration = overridePageViewDuration;
- this.appInsights = appInsights;
- }
- PageViewManager.prototype.trackPageView = function (name, url, properties, measurements, duration) {
- var _this = this;
- if (typeof name !== "string") {
- name = window.document && window.document.title || "";
- }
- if (typeof url !== "string") {
- url = window.location && window.location.href || "";
- }
- var pageViewSent = false;
- var customDuration = 0;
- if (Telemetry.PageViewPerformance.isPerformanceTimingSupported()) {
- var start = Telemetry.PageViewPerformance.getPerformanceTiming().navigationStart;
- customDuration = Telemetry.PageViewPerformance.getDuration(start, +new Date);
- }
- else {
- this.appInsights.sendPageViewInternal(name, url, !isNaN(duration) ? duration : 0, properties, measurements);
- this.appInsights.flush();
- pageViewSent = true;
- }
- if (this.overridePageViewDuration || !isNaN(duration)) {
- this.appInsights.sendPageViewInternal(name, url, !isNaN(duration) ? duration : customDuration, properties, measurements);
- this.appInsights.flush();
- pageViewSent = true;
- }
- var maxDurationLimit = 60000;
- if (!Telemetry.PageViewPerformance.isPerformanceTimingSupported()) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_NavigationTimingNotSupported, "trackPageView: navigation timing API used for calculation of page duration is not supported in this browser. This page view will be collected without duration and timing info."));
- return;
- }
- var handle = setInterval(function () {
- try {
- if (Telemetry.PageViewPerformance.isPerformanceTimingDataReady()) {
- clearInterval(handle);
- var pageViewPerformance = new Telemetry.PageViewPerformance(name, url, null, properties, measurements);
- if (!pageViewPerformance.getIsValid() && !pageViewSent) {
- _this.appInsights.sendPageViewInternal(name, url, customDuration, properties, measurements);
- _this.appInsights.flush();
- }
- else {
- if (!pageViewSent) {
- _this.appInsights.sendPageViewInternal(name, url, pageViewPerformance.getDurationMs(), properties, measurements);
- }
- if (!_this.pageViewPerformanceSent) {
- _this.appInsights.sendPageViewPerformanceInternal(pageViewPerformance);
- _this.pageViewPerformanceSent = true;
- }
- _this.appInsights.flush();
- }
- }
- else if (Telemetry.PageViewPerformance.getDuration(start, +new Date) > maxDurationLimit) {
- clearInterval(handle);
- if (!pageViewSent) {
- _this.appInsights.sendPageViewInternal(name, url, maxDurationLimit, properties, measurements);
- _this.appInsights.flush();
- }
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackPVFailedCalc, "trackPageView failed on page load calculation: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- }, 100);
- };
- return PageViewManager;
- })();
- Telemetry.PageViewManager = PageViewManager;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="../AppInsights.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var PageVisitTimeManager = (function () {
- function PageVisitTimeManager(pageVisitTimeTrackingHandler) {
- this.prevPageVisitDataKeyName = "prevPageVisitData";
- this.pageVisitTimeTrackingHandler = pageVisitTimeTrackingHandler;
- }
- PageVisitTimeManager.prototype.trackPreviousPageVisit = function (currentPageName, currentPageUrl) {
- try {
- var prevPageVisitTimeData = this.restartPageVisitTimer(currentPageName, currentPageUrl);
- if (prevPageVisitTimeData) {
- this.pageVisitTimeTrackingHandler(prevPageVisitTimeData.pageName, prevPageVisitTimeData.pageUrl, prevPageVisitTimeData.pageVisitTime);
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.warnToConsole("Auto track page visit time failed, metric will not be collected: " + ApplicationInsights.Util.dump(e));
- }
- };
- PageVisitTimeManager.prototype.restartPageVisitTimer = function (pageName, pageUrl) {
- try {
- var prevPageVisitData = this.stopPageVisitTimer();
- this.startPageVisitTimer(pageName, pageUrl);
- return prevPageVisitData;
- }
- catch (e) {
- ApplicationInsights._InternalLogging.warnToConsole("Call to restart failed: " + ApplicationInsights.Util.dump(e));
- return null;
- }
- };
- PageVisitTimeManager.prototype.startPageVisitTimer = function (pageName, pageUrl) {
- try {
- if (ApplicationInsights.Util.canUseSessionStorage()) {
- if (ApplicationInsights.Util.getSessionStorage(this.prevPageVisitDataKeyName) != null) {
- throw new Error("Cannot call startPageVisit consecutively without first calling stopPageVisit");
- }
- var currPageVisitData = new PageVisitData(pageName, pageUrl);
- var currPageVisitDataStr = JSON.stringify(currPageVisitData);
- ApplicationInsights.Util.setSessionStorage(this.prevPageVisitDataKeyName, currPageVisitDataStr);
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.warnToConsole("Call to start failed: " + ApplicationInsights.Util.dump(e));
- }
- };
- PageVisitTimeManager.prototype.stopPageVisitTimer = function () {
- try {
- if (ApplicationInsights.Util.canUseSessionStorage()) {
- var pageVisitEndTime = Date.now();
- var pageVisitDataJsonStr = ApplicationInsights.Util.getSessionStorage(this.prevPageVisitDataKeyName);
- if (pageVisitDataJsonStr) {
- var prevPageVisitData = JSON.parse(pageVisitDataJsonStr);
- prevPageVisitData.pageVisitTime = pageVisitEndTime - prevPageVisitData.pageVisitStartTime;
- ApplicationInsights.Util.removeSessionStorage(this.prevPageVisitDataKeyName);
- return prevPageVisitData;
- }
- else {
- return null;
- }
- }
- return null;
- }
- catch (e) {
- ApplicationInsights._InternalLogging.warnToConsole("Stop page visit timer failed: " + ApplicationInsights.Util.dump(e));
- return null;
- }
- };
- return PageVisitTimeManager;
- })();
- Telemetry.PageVisitTimeManager = PageVisitTimeManager;
- var PageVisitData = (function () {
- function PageVisitData(pageName, pageUrl) {
- this.pageVisitStartTime = Date.now();
- this.pageName = pageName;
- this.pageUrl = pageUrl;
- }
- return PageVisitData;
- })();
- Telemetry.PageVisitData = PageVisitData;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- var AI;
- (function (AI) {
- "use strict";
- (function (DependencyKind) {
- DependencyKind[DependencyKind["SQL"] = 0] = "SQL";
- DependencyKind[DependencyKind["Http"] = 1] = "Http";
- DependencyKind[DependencyKind["Other"] = 2] = "Other";
- })(AI.DependencyKind || (AI.DependencyKind = {}));
- var DependencyKind = AI.DependencyKind;
- })(AI || (AI = {}));
- var AI;
- (function (AI) {
- "use strict";
- (function (DependencySourceType) {
- DependencySourceType[DependencySourceType["Undefined"] = 0] = "Undefined";
- DependencySourceType[DependencySourceType["Aic"] = 1] = "Aic";
- DependencySourceType[DependencySourceType["Apmc"] = 2] = "Apmc";
- })(AI.DependencySourceType || (AI.DependencySourceType = {}));
- var DependencySourceType = AI.DependencySourceType;
- })(AI || (AI = {}));
- /// <reference path="Domain.ts" />
- /// <reference path="DataPointType.ts" />
- /// <reference path="DependencyKind.ts" />
- /// <reference path="DependencySourceType.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var RemoteDependencyData = (function (_super) {
- __extends(RemoteDependencyData, _super);
- function RemoteDependencyData() {
- this.ver = 2;
- this.kind = AI.DataPointType.Aggregation;
- this.dependencyKind = AI.DependencyKind.Other;
- this.success = true;
- this.dependencySource = AI.DependencySourceType.Apmc;
- this.properties = {};
- _super.call(this);
- }
- return RemoteDependencyData;
- })(Microsoft.Telemetry.Domain);
- AI.RemoteDependencyData = RemoteDependencyData;
- })(AI || (AI = {}));
- /// <reference path="../Contracts/Generated/PageViewData.ts" />
- /// <reference path="./Common/DataSanitizer.ts"/>
- /// <reference path="../Contracts/Generated/RemoteDependencyData.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- var Telemetry;
- (function (Telemetry) {
- "use strict";
- var RemoteDependencyData = (function (_super) {
- __extends(RemoteDependencyData, _super);
- function RemoteDependencyData(id, name, commandName, value, success, resultCode) {
- _super.call(this);
- this.aiDataContract = {
- id: ApplicationInsights.FieldType.Required,
- ver: ApplicationInsights.FieldType.Required,
- name: ApplicationInsights.FieldType.Default,
- kind: ApplicationInsights.FieldType.Required,
- value: ApplicationInsights.FieldType.Default,
- count: ApplicationInsights.FieldType.Default,
- min: ApplicationInsights.FieldType.Default,
- max: ApplicationInsights.FieldType.Default,
- stdDev: ApplicationInsights.FieldType.Default,
- dependencyKind: ApplicationInsights.FieldType.Default,
- success: ApplicationInsights.FieldType.Default,
- async: ApplicationInsights.FieldType.Default,
- dependencySource: ApplicationInsights.FieldType.Default,
- commandName: ApplicationInsights.FieldType.Default,
- dependencyTypeName: ApplicationInsights.FieldType.Default,
- properties: ApplicationInsights.FieldType.Default,
- resultCode: ApplicationInsights.FieldType.Default
- };
- this.id = id;
- this.name = name;
- this.commandName = commandName;
- this.value = value;
- this.success = success;
- this.resultCode = resultCode + "";
- this.dependencyKind = AI.DependencyKind.Http;
- this.dependencyTypeName = "Ajax";
- }
- RemoteDependencyData.envelopeType = "Microsoft.ApplicationInsights.{0}.RemoteDependency";
- RemoteDependencyData.dataType = "RemoteDependencyData";
- return RemoteDependencyData;
- })(AI.RemoteDependencyData);
- Telemetry.RemoteDependencyData = RemoteDependencyData;
- })(Telemetry = ApplicationInsights.Telemetry || (ApplicationInsights.Telemetry = {}));
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="telemetrycontext.ts" />
- /// <reference path="./Telemetry/Common/Data.ts"/>
- /// <reference path="./Util.ts"/>
- /// <reference path="./Contracts/Generated/SessionState.ts"/>
- /// <reference path="./Telemetry/PageViewManager.ts"/>
- /// <reference path="./Telemetry/PageVisitTimeManager.ts"/>
- /// <reference path="./Telemetry/RemoteDependencyData.ts"/>
- /// <reference path="./ajax/ajax.ts"/>
- /// <reference path="./DataLossAnalyzer.ts"/>
- /// <reference path="./SplitTest.ts"/>
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- ApplicationInsights.Version = "0.22.9";
- var AppInsights = (function () {
- function AppInsights(config) {
- var _this = this;
- this._trackAjaxAttempts = 0;
- this.config = config || {};
- var defaults = AppInsights.defaultConfig;
- if (defaults !== undefined) {
- for (var field in defaults) {
- if (this.config[field] === undefined) {
- this.config[field] = defaults[field];
- }
- }
- }
- ApplicationInsights._InternalLogging.verboseLogging = function () { return _this.config.verboseLogging; };
- ApplicationInsights._InternalLogging.enableDebugExceptions = function () { return _this.config.enableDebug; };
- var configGetters = {
- instrumentationKey: function () { return _this.config.instrumentationKey; },
- accountId: function () { return _this.config.accountId; },
- sessionRenewalMs: function () { return _this.config.sessionRenewalMs; },
- sessionExpirationMs: function () { return _this.config.sessionExpirationMs; },
- endpointUrl: function () { return _this.config.endpointUrl; },
- emitLineDelimitedJson: function () { return _this.config.emitLineDelimitedJson; },
- maxBatchSizeInBytes: function () { return _this.config.maxBatchSizeInBytes; },
- maxBatchInterval: function () { return _this.config.maxBatchInterval; },
- disableTelemetry: function () { return _this.config.disableTelemetry; },
- sampleRate: function () { return _this.config.samplingPercentage; },
- cookieDomain: function () { return _this.config.cookieDomain; }
- };
- this.context = new ApplicationInsights.TelemetryContext(configGetters);
- this._pageViewManager = new Microsoft.ApplicationInsights.Telemetry.PageViewManager(this, this.config.overridePageViewDuration);
- this._eventTracking = new Timing("trackEvent");
- this._eventTracking.action = function (name, url, duration, properties, measurements) {
- if (!measurements) {
- measurements = { duration: duration };
- }
- else {
- if (isNaN(measurements["duration"])) {
- measurements["duration"] = duration;
- }
- }
- var event = new ApplicationInsights.Telemetry.Event(name, properties, measurements);
- var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Event.dataType, event);
- var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Event.envelopeType);
- _this.context.track(envelope);
- };
- this._pageTracking = new Timing("trackPageView");
- this._pageTracking.action = function (name, url, duration, properties, measurements) {
- _this.sendPageViewInternal(name, url, duration, properties, measurements);
- };
- this._pageVisitTimeManager = new ApplicationInsights.Telemetry.PageVisitTimeManager(function (pageName, pageUrl, pageVisitTime) { return _this.trackPageVisitTime(pageName, pageUrl, pageVisitTime); });
- if (!this.config.disableAjaxTracking) {
- new Microsoft.ApplicationInsights.AjaxMonitor(this);
- }
- }
- AppInsights.prototype.sendPageViewInternal = function (name, url, duration, properties, measurements) {
- var pageView = new ApplicationInsights.Telemetry.PageView(name, url, duration, properties, measurements);
- var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.PageView.dataType, pageView);
- var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.PageView.envelopeType);
- this.context.track(envelope);
- this._trackAjaxAttempts = 0;
- };
- AppInsights.prototype.sendPageViewPerformanceInternal = function (pageViewPerformance) {
- var pageViewPerformanceData = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.PageViewPerformance.dataType, pageViewPerformance);
- var pageViewPerformanceEnvelope = new ApplicationInsights.Telemetry.Common.Envelope(pageViewPerformanceData, ApplicationInsights.Telemetry.PageViewPerformance.envelopeType);
- this.context.track(pageViewPerformanceEnvelope);
- };
- AppInsights.prototype.startTrackPage = function (name) {
- try {
- if (typeof name !== "string") {
- name = window.document && window.document.title || "";
- }
- this._pageTracking.start(name);
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_StartTrackFailed, "startTrackPage failed, page view may not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.stopTrackPage = function (name, url, properties, measurements) {
- try {
- if (typeof name !== "string") {
- name = window.document && window.document.title || "";
- }
- if (typeof url !== "string") {
- url = window.location && window.location.href || "";
- }
- this._pageTracking.stop(name, url, properties, measurements);
- if (this.config.autoTrackPageVisitTime) {
- this._pageVisitTimeManager.trackPreviousPageVisit(name, url);
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_StopTrackFailed, "stopTrackPage failed, page view will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.trackPageView = function (name, url, properties, measurements, duration) {
- try {
- this._pageViewManager.trackPageView(name, url, properties, measurements, duration);
- if (this.config.autoTrackPageVisitTime) {
- this._pageVisitTimeManager.trackPreviousPageVisit(name, url);
- }
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackPVFailed, "trackPageView failed, page view will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.startTrackEvent = function (name) {
- try {
- this._eventTracking.start(name);
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_StartTrackEventFailed, "startTrackEvent failed, event will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.stopTrackEvent = function (name, properties, measurements) {
- try {
- this._eventTracking.stop(name, undefined, properties, measurements);
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_StopTrackEventFailed, "stopTrackEvent failed, event will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.trackEvent = function (name, properties, measurements) {
- try {
- var eventTelemetry = new ApplicationInsights.Telemetry.Event(name, properties, measurements);
- var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Event.dataType, eventTelemetry);
- var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Event.envelopeType);
- this.context.track(envelope);
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackEventFailed, "trackEvent failed, event will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.trackAjax = function (id, absoluteUrl, pathName, totalTime, success, resultCode) {
- if (this.config.maxAjaxCallsPerView === -1 ||
- this._trackAjaxAttempts < this.config.maxAjaxCallsPerView) {
- var dependency = new ApplicationInsights.Telemetry.RemoteDependencyData(id, absoluteUrl, pathName, totalTime, success, resultCode);
- var dependencyData = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.RemoteDependencyData.dataType, dependency);
- var envelope = new ApplicationInsights.Telemetry.Common.Envelope(dependencyData, ApplicationInsights.Telemetry.RemoteDependencyData.envelopeType);
- this.context.track(envelope);
- }
- else if (this._trackAjaxAttempts === this.config.maxAjaxCallsPerView) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_MaxAjaxPerPVExceeded, "Maximum ajax per page view limit reached, ajax monitoring is paused until the next trackPageView(). In order to increase the limit set the maxAjaxCallsPerView configuration parameter."));
- }
- ++this._trackAjaxAttempts;
- };
- AppInsights.prototype.trackException = function (exception, handledAt, properties, measurements) {
- try {
- if (!ApplicationInsights.Util.isError(exception)) {
- try {
- throw new Error(exception);
- }
- catch (error) {
- exception = error;
- }
- }
- var exceptionTelemetry = new ApplicationInsights.Telemetry.Exception(exception, handledAt, properties, measurements);
- var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Exception.dataType, exceptionTelemetry);
- var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Exception.envelopeType);
- this.context.track(envelope);
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackExceptionFailed, "trackException failed, exception will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.trackMetric = function (name, average, sampleCount, min, max, properties) {
- try {
- var telemetry = new ApplicationInsights.Telemetry.Metric(name, average, sampleCount, min, max, properties);
- var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Metric.dataType, telemetry);
- var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Metric.envelopeType);
- this.context.track(envelope);
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackMetricFailed, "trackMetric failed, metric will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.trackTrace = function (message, properties) {
- try {
- var telemetry = new ApplicationInsights.Telemetry.Trace(message, properties);
- var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Trace.dataType, telemetry);
- var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Trace.envelopeType);
- this.context.track(envelope);
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_TrackTraceFailed, "trackTrace failed, trace will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.trackPageVisitTime = function (pageName, pageUrl, pageVisitTime) {
- var properties = { PageName: pageName, PageUrl: pageUrl };
- this.trackMetric("PageVisitTime", pageVisitTime, 1, pageVisitTime, pageVisitTime, properties);
- };
- AppInsights.prototype.flush = function () {
- try {
- this.context._sender.triggerSend();
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FlushFailed, "flush failed, telemetry will not be collected: " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.setAuthenticatedUserContext = function (authenticatedUserId, accountId) {
- try {
- this.context.user.setAuthenticatedUserContext(authenticatedUserId, accountId);
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_SetAuthContextFailed, "Setting auth user context failed. " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.clearAuthenticatedUserContext = function () {
- try {
- this.context.user.clearAuthenticatedUserContext();
- }
- catch (e) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_SetAuthContextFailed, "Clearing auth user context failed. " + ApplicationInsights.Util.getExceptionName(e), { exception: ApplicationInsights.Util.dump(e) }));
- }
- };
- AppInsights.prototype.SendCORSException = function (properties) {
- var exceptionData = Microsoft.ApplicationInsights.Telemetry.Exception.CreateSimpleException("Script error.", "Error", "unknown", "unknown", "The browser’s same-origin policy prevents us from getting the details of this exception.The exception occurred in a script loaded from an origin different than the web page.For cross- domain error reporting you can use crossorigin attribute together with appropriate CORS HTTP headers.For more information please see http://www.w3.org/TR/cors/.", 0, null);
- exceptionData.properties = properties;
- var data = new ApplicationInsights.Telemetry.Common.Data(ApplicationInsights.Telemetry.Exception.dataType, exceptionData);
- var envelope = new ApplicationInsights.Telemetry.Common.Envelope(data, ApplicationInsights.Telemetry.Exception.envelopeType);
- this.context.track(envelope);
- };
- AppInsights.prototype._onerror = function (message, url, lineNumber, columnNumber, error) {
- try {
- var properties = { url: url ? url : document.URL };
- if (ApplicationInsights.Util.isCrossOriginError(message, url, lineNumber, columnNumber, error)) {
- this.SendCORSException(properties);
- }
- else {
- if (!ApplicationInsights.Util.isError(error)) {
- var stack = "window.onerror@" + properties.url + ":" + lineNumber + ":" + (columnNumber || 0);
- error = new Error(message);
- error["stack"] = stack;
- }
- this.trackException(error, null, properties);
- }
- }
- catch (exception) {
- var errorString = error ? (error.name + ", " + error.message) : "null";
- var exceptionDump = ApplicationInsights.Util.dump(exception);
- ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_ExceptionWhileLoggingError, "_onerror threw exception while logging error, error will not be collected: " + ApplicationInsights.Util.getExceptionName(exception), { exception: exceptionDump, errorString: errorString }));
- }
- };
- return AppInsights;
- })();
- ApplicationInsights.AppInsights = AppInsights;
- var Timing = (function () {
- function Timing(name) {
- this._name = name;
- this._events = {};
- }
- Timing.prototype.start = function (name) {
- if (typeof this._events[name] !== "undefined") {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_StartCalledMoreThanOnce, "start was called more than once for this event without calling stop.", { name: this._name, key: name }));
- }
- this._events[name] = +new Date;
- };
- Timing.prototype.stop = function (name, url, properties, measurements) {
- var start = this._events[name];
- if (isNaN(start)) {
- ApplicationInsights._InternalLogging.throwInternalUserActionable(ApplicationInsights.LoggingSeverity.WARNING, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.USRACT_StopCalledWithoutStart, "stop was called without a corresponding start.", { name: this._name, key: name }));
- }
- else {
- var end = +new Date;
- var duration = ApplicationInsights.Telemetry.PageViewPerformance.getDuration(start, end);
- this.action(name, url, duration, properties, measurements);
- }
- delete this._events[name];
- this._events[name] = undefined;
- };
- return Timing;
- })();
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="PageViewData.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var AjaxCallData = (function (_super) {
- __extends(AjaxCallData, _super);
- function AjaxCallData() {
- this.ver = 2;
- this.properties = {};
- this.measurements = {};
- _super.call(this);
- }
- return AjaxCallData;
- })(AI.PageViewData);
- AI.AjaxCallData = AjaxCallData;
- })(AI || (AI = {}));
- /// <reference path="Domain.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var RequestData = (function (_super) {
- __extends(RequestData, _super);
- function RequestData() {
- this.ver = 2;
- this.properties = {};
- this.measurements = {};
- _super.call(this);
- }
- return RequestData;
- })(Microsoft.Telemetry.Domain);
- AI.RequestData = RequestData;
- })(AI || (AI = {}));
- /// <reference path="Domain.ts" />
- /// <reference path="SessionState.ts" />
- var AI;
- (function (AI) {
- "use strict";
- var SessionStateData = (function (_super) {
- __extends(SessionStateData, _super);
- function SessionStateData() {
- this.ver = 2;
- this.state = AI.SessionState.Start;
- _super.call(this);
- }
- return SessionStateData;
- })(Microsoft.Telemetry.Domain);
- AI.SessionStateData = SessionStateData;
- })(AI || (AI = {}));
- /// <reference path="appinsights.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- var Initialization = (function () {
- function Initialization(snippet) {
- snippet.queue = snippet.queue || [];
- var config = snippet.config || {};
- if (config && !config.instrumentationKey) {
- config = snippet;
- if (config["iKey"]) {
- Microsoft.ApplicationInsights.Version = "0.10.0.0";
- config.instrumentationKey = config["iKey"];
- }
- else if (config["applicationInsightsId"]) {
- Microsoft.ApplicationInsights.Version = "0.7.2.0";
- config.instrumentationKey = config["applicationInsightsId"];
- }
- else {
- throw new Error("Cannot load Application Insights SDK, no instrumentationKey was provided.");
- }
- }
- config = Initialization.getDefaultConfig(config);
- this.snippet = snippet;
- this.config = config;
- }
- Initialization.prototype.loadAppInsights = function () {
- var appInsights = new Microsoft.ApplicationInsights.AppInsights(this.config);
- if (this.config["iKey"]) {
- var originalTrackPageView = appInsights.trackPageView;
- appInsights.trackPageView = function (pagePath, properties, measurements) {
- originalTrackPageView.apply(appInsights, [null, pagePath, properties, measurements]);
- };
- }
- var legacyPageView = "logPageView";
- if (typeof this.snippet[legacyPageView] === "function") {
- appInsights[legacyPageView] = function (pagePath, properties, measurements) {
- appInsights.trackPageView(null, pagePath, properties, measurements);
- };
- }
- var legacyEvent = "logEvent";
- if (typeof this.snippet[legacyEvent] === "function") {
- appInsights[legacyEvent] = function (name, properties, measurements) {
- appInsights.trackEvent(name, properties, measurements);
- };
- }
- return appInsights;
- };
- Initialization.prototype.emptyQueue = function () {
- try {
- if (Microsoft.ApplicationInsights.Util.isArray(this.snippet.queue)) {
- var length = this.snippet.queue.length;
- for (var i = 0; i < length; i++) {
- var call = this.snippet.queue[i];
- call();
- }
- this.snippet.queue = undefined;
- delete this.snippet.queue;
- }
- }
- catch (exception) {
- var properties = {};
- if (exception && typeof exception.toString === "function") {
- properties.exception = exception.toString();
- }
- var message = new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedToSendQueuedTelemetry, "Failed to send queued telemetry", properties);
- Microsoft.ApplicationInsights._InternalLogging.throwInternalNonUserActionable(ApplicationInsights.LoggingSeverity.WARNING, message);
- }
- };
- Initialization.prototype.pollInteralLogs = function (appInsightsInstance) {
- return setInterval(function () {
- var queue = Microsoft.ApplicationInsights._InternalLogging.queue;
- var length = queue.length;
- for (var i = 0; i < length; i++) {
- appInsightsInstance.trackTrace(queue[i].message);
- }
- queue.length = 0;
- }, this.config.diagnosticLogInterval);
- };
- Initialization.prototype.addHousekeepingBeforeUnload = function (appInsightsInstance) {
- // Add callback to push events when the user navigates away
- if (!appInsightsInstance.config.disableFlushOnBeforeUnload && ('onbeforeunload' in window)) {
- var performHousekeeping = function () {
- appInsightsInstance.context._sender.triggerSend();
- appInsightsInstance.context._sessionManager.backup();
- };
- if (!Microsoft.ApplicationInsights.Util.addEventHandler('beforeunload', performHousekeeping)) {
- Microsoft.ApplicationInsights._InternalLogging.throwInternalNonUserActionable(Microsoft.ApplicationInsights.LoggingSeverity.CRITICAL, new ApplicationInsights._InternalLogMessage(ApplicationInsights._InternalMessageId.NONUSRACT_FailedToAddHandlerForOnBeforeUnload, 'Could not add handler for beforeunload'));
- }
- }
- };
- Initialization.getDefaultConfig = function (config) {
- if (!config) {
- config = {};
- }
- config.endpointUrl = config.endpointUrl || "//dc.services.visualstudio.com/v2/track";
- config.sessionRenewalMs = 30 * 60 * 1000;
- config.sessionExpirationMs = 24 * 60 * 60 * 1000;
- config.maxBatchSizeInBytes = config.maxBatchSizeInBytes > 0 ? config.maxBatchSizeInBytes : 1000000;
- config.maxBatchInterval = !isNaN(config.maxBatchInterval) ? config.maxBatchInterval : 15000;
- config.enableDebug = ApplicationInsights.Util.stringToBoolOrDefault(config.enableDebug);
- config.disableExceptionTracking = (config.disableExceptionTracking !== undefined && config.disableExceptionTracking !== null) ?
- ApplicationInsights.Util.stringToBoolOrDefault(config.disableExceptionTracking) :
- false;
- config.disableTelemetry = ApplicationInsights.Util.stringToBoolOrDefault(config.disableTelemetry);
- config.verboseLogging = ApplicationInsights.Util.stringToBoolOrDefault(config.verboseLogging);
- config.emitLineDelimitedJson = ApplicationInsights.Util.stringToBoolOrDefault(config.emitLineDelimitedJson);
- config.diagnosticLogInterval = config.diagnosticLogInterval || 10000;
- config.autoTrackPageVisitTime = ApplicationInsights.Util.stringToBoolOrDefault(config.autoTrackPageVisitTime);
- if (isNaN(config.samplingPercentage) || config.samplingPercentage <= 0 || config.samplingPercentage >= 100) {
- config.samplingPercentage = 100;
- }
- config.disableAjaxTracking = (config.disableAjaxTracking !== undefined && config.disableAjaxTracking !== null) ?
- ApplicationInsights.Util.stringToBoolOrDefault(config.disableAjaxTracking) :
- false;
- config.maxAjaxCallsPerView = !isNaN(config.maxAjaxCallsPerView) ? config.maxAjaxCallsPerView : 500;
- config.disableCorrelationHeaders = (config.disableCorrelationHeaders !== undefined && config.disableCorrelationHeaders !== null) ?
- ApplicationInsights.Util.stringToBoolOrDefault(config.disableCorrelationHeaders) :
- true;
- config.disableFlushOnBeforeUnload = (config.disableFlushOnBeforeUnload !== undefined && config.disableFlushOnBeforeUnload !== null) ?
- ApplicationInsights.Util.stringToBoolOrDefault(config.disableFlushOnBeforeUnload) :
- false;
- return config;
- };
- return Initialization;
- })();
- ApplicationInsights.Initialization = Initialization;
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
- /// <reference path="initialization.ts" />
- var Microsoft;
- (function (Microsoft) {
- var ApplicationInsights;
- (function (ApplicationInsights) {
- "use strict";
- try {
- if (typeof window !== "undefined" && typeof JSON !== "undefined") {
- var aiName = "appInsights";
- if (window[aiName] === undefined) {
- Microsoft.ApplicationInsights.AppInsights.defaultConfig = Microsoft.ApplicationInsights.Initialization.getDefaultConfig();
- }
- else {
- var snippet = window[aiName] || {};
- var init = new Microsoft.ApplicationInsights.Initialization(snippet);
- var appInsightsLocal = init.loadAppInsights();
- for (var field in appInsightsLocal) {
- snippet[field] = appInsightsLocal[field];
- }
- init.emptyQueue();
- init.pollInteralLogs(appInsightsLocal);
- init.addHousekeepingBeforeUnload(appInsightsLocal);
- }
- }
- }
- catch (e) {
- Microsoft.ApplicationInsights._InternalLogging.warnToConsole('Failed to initialize AppInsights JS SDK: ' + e.message);
- }
- })(ApplicationInsights = Microsoft.ApplicationInsights || (Microsoft.ApplicationInsights = {}));
- })(Microsoft || (Microsoft = {}));
|