12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111 |
- /*
- * Copyright The OpenTelemetry Authors
- * SPDX-License-Identifier: Apache-2.0
- */
- /*
- * This file is DEPRECATED, and no longer updated.
- * See file DEPRECATED.md for details.
- */
- #ifdef OPENTELEMETRY_NO_DEPRECATED_CODE
- # error "header <trace/semantic_conventions.h> is deprecated."
- #endif
- #pragma once
- #include "opentelemetry/common/macros.h"
- #include "opentelemetry/version.h"
- OPENTELEMETRY_BEGIN_NAMESPACE
- namespace trace
- {
- namespace SemanticConventions
- {
- /**
- * The URL of the OpenTelemetry schema for these keys and values.
- */
- static constexpr const char *kSchemaUrl = "https://opentelemetry.io/schemas/1.27.0";
- /**
- * Uniquely identifies the framework API revision offered by a version ({@code os.version}) of the
- * android operating system. More information can be found <a
- * href="https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels">here</a>.
- */
- static constexpr const char *kAndroidOsApiLevel = "android.os.api_level";
- /**
- * The provenance filename of the built attestation which directly relates to the build artifact
- * filename. This filename SHOULD accompany the artifact at publish time. See the <a
- * href="https://slsa.dev/spec/v1.0/distributing-provenance#relationship-between-artifacts-and-attestations">SLSA
- * Relationship</a> specification for more information.
- */
- static constexpr const char *kArtifactAttestationFilename = "artifact.attestation.filename";
- /**
- * The full <a href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf">hash value (see
- * glossary)</a>, of the built attestation. Some envelopes in the software attestation space also
- * refer to this as the <a
- * href="https://github.com/in-toto/attestation/blob/main/spec/README.md#in-toto-attestation-framework-spec">digest</a>.
- */
- static constexpr const char *kArtifactAttestationHash = "artifact.attestation.hash";
- /**
- * The id of the build <a href="https://slsa.dev/attestation-model">software attestation</a>.
- */
- static constexpr const char *kArtifactAttestationId = "artifact.attestation.id";
- /**
- * The human readable file name of the artifact, typically generated during build and release
- processes. Often includes the package name and version in the file name.
- *
- * <p>Notes:
- <ul> <li>This file name can also act as the <a
- href="https://slsa.dev/spec/v1.0/terminology#package-model">Package Name</a> in cases where the
- package ecosystem maps accordingly. Additionally, the artifact <a
- href="https://slsa.dev/spec/v1.0/terminology#software-supply-chain">can be published</a> for others,
- but that is not a guarantee.</li> </ul>
- */
- static constexpr const char *kArtifactFilename = "artifact.filename";
- /**
- * The full <a href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf">hash value (see
- glossary)</a>, often found in checksum.txt on a release of the artifact and used to verify package
- integrity.
- *
- * <p>Notes:
- <ul> <li>The specific algorithm used to create the cryptographic hash value is
- not defined. In situations where an artifact has multiple
- cryptographic hashes, it is up to the implementer to choose which
- hash value to set here; this should be the most secure hash algorithm
- that is suitable for the situation and consistent with the
- corresponding attestation. The implementer can then provide the other
- hash values through an additional set of attribute extensions as they
- deem necessary.</li> </ul>
- */
- static constexpr const char *kArtifactHash = "artifact.hash";
- /**
- * The <a href="https://github.com/package-url/purl-spec">Package URL</a> of the <a
- * href="https://slsa.dev/spec/v1.0/terminology#package-model">package artifact</a> provides a
- * standard way to identify and locate the packaged artifact.
- */
- static constexpr const char *kArtifactPurl = "artifact.purl";
- /**
- * The version of the artifact.
- */
- static constexpr const char *kArtifactVersion = "artifact.version";
- /**
- * Rate-limiting result, shows whether the lease was acquired or contains a rejection reason
- */
- static constexpr const char *kAspnetcoreRateLimitingResult = "aspnetcore.rate_limiting.result";
- /**
- * Full type name of the <a
- * href="https://learn.microsoft.com/dotnet/api/microsoft.aspnetcore.diagnostics.iexceptionhandler">{@code
- * IExceptionHandler}</a> implementation that handled the exception.
- */
- static constexpr const char *kAspnetcoreDiagnosticsHandlerType =
- "aspnetcore.diagnostics.handler.type";
- /**
- * ASP.NET Core exception middleware handling result
- */
- static constexpr const char *kAspnetcoreDiagnosticsExceptionResult =
- "aspnetcore.diagnostics.exception.result";
- /**
- * Rate limiting policy name.
- */
- static constexpr const char *kAspnetcoreRateLimitingPolicy = "aspnetcore.rate_limiting.policy";
- /**
- * Flag indicating if request was handled by the application pipeline.
- */
- static constexpr const char *kAspnetcoreRequestIsUnhandled = "aspnetcore.request.is_unhandled";
- /**
- * A value that indicates whether the matched route is a fallback route.
- */
- static constexpr const char *kAspnetcoreRoutingIsFallback = "aspnetcore.routing.is_fallback";
- /**
- * Match result - success or failure
- */
- static constexpr const char *kAspnetcoreRoutingMatchStatus = "aspnetcore.routing.match_status";
- /**
- * The AWS request ID as returned in the response headers {@code x-amz-request-id} or {@code
- * x-amz-requestid}.
- */
- static constexpr const char *kAwsRequestId = "aws.request_id";
- /**
- * The JSON-serialized value of each item in the {@code AttributeDefinitions} request field.
- */
- static constexpr const char *kAwsDynamodbAttributeDefinitions =
- "aws.dynamodb.attribute_definitions";
- /**
- * The value of the {@code AttributesToGet} request parameter.
- */
- static constexpr const char *kAwsDynamodbAttributesToGet = "aws.dynamodb.attributes_to_get";
- /**
- * The value of the {@code ConsistentRead} request parameter.
- */
- static constexpr const char *kAwsDynamodbConsistentRead = "aws.dynamodb.consistent_read";
- /**
- * The JSON-serialized value of each item in the {@code ConsumedCapacity} response field.
- */
- static constexpr const char *kAwsDynamodbConsumedCapacity = "aws.dynamodb.consumed_capacity";
- /**
- * The value of the {@code Count} response parameter.
- */
- static constexpr const char *kAwsDynamodbCount = "aws.dynamodb.count";
- /**
- * The value of the {@code ExclusiveStartTableName} request parameter.
- */
- static constexpr const char *kAwsDynamodbExclusiveStartTable = "aws.dynamodb.exclusive_start_table";
- /**
- * The JSON-serialized value of each item in the {@code GlobalSecondaryIndexUpdates} request field.
- */
- static constexpr const char *kAwsDynamodbGlobalSecondaryIndexUpdates =
- "aws.dynamodb.global_secondary_index_updates";
- /**
- * The JSON-serialized value of each item of the {@code GlobalSecondaryIndexes} request field
- */
- static constexpr const char *kAwsDynamodbGlobalSecondaryIndexes =
- "aws.dynamodb.global_secondary_indexes";
- /**
- * The value of the {@code IndexName} request parameter.
- */
- static constexpr const char *kAwsDynamodbIndexName = "aws.dynamodb.index_name";
- /**
- * The JSON-serialized value of the {@code ItemCollectionMetrics} response field.
- */
- static constexpr const char *kAwsDynamodbItemCollectionMetrics =
- "aws.dynamodb.item_collection_metrics";
- /**
- * The value of the {@code Limit} request parameter.
- */
- static constexpr const char *kAwsDynamodbLimit = "aws.dynamodb.limit";
- /**
- * The JSON-serialized value of each item of the {@code LocalSecondaryIndexes} request field.
- */
- static constexpr const char *kAwsDynamodbLocalSecondaryIndexes =
- "aws.dynamodb.local_secondary_indexes";
- /**
- * The value of the {@code ProjectionExpression} request parameter.
- */
- static constexpr const char *kAwsDynamodbProjection = "aws.dynamodb.projection";
- /**
- * The value of the {@code ProvisionedThroughput.ReadCapacityUnits} request parameter.
- */
- static constexpr const char *kAwsDynamodbProvisionedReadCapacity =
- "aws.dynamodb.provisioned_read_capacity";
- /**
- * The value of the {@code ProvisionedThroughput.WriteCapacityUnits} request parameter.
- */
- static constexpr const char *kAwsDynamodbProvisionedWriteCapacity =
- "aws.dynamodb.provisioned_write_capacity";
- /**
- * The value of the {@code ScanIndexForward} request parameter.
- */
- static constexpr const char *kAwsDynamodbScanForward = "aws.dynamodb.scan_forward";
- /**
- * The value of the {@code ScannedCount} response parameter.
- */
- static constexpr const char *kAwsDynamodbScannedCount = "aws.dynamodb.scanned_count";
- /**
- * The value of the {@code Segment} request parameter.
- */
- static constexpr const char *kAwsDynamodbSegment = "aws.dynamodb.segment";
- /**
- * The value of the {@code Select} request parameter.
- */
- static constexpr const char *kAwsDynamodbSelect = "aws.dynamodb.select";
- /**
- * The number of items in the {@code TableNames} response parameter.
- */
- static constexpr const char *kAwsDynamodbTableCount = "aws.dynamodb.table_count";
- /**
- * The keys in the {@code RequestItems} object field.
- */
- static constexpr const char *kAwsDynamodbTableNames = "aws.dynamodb.table_names";
- /**
- * The value of the {@code TotalSegments} request parameter.
- */
- static constexpr const char *kAwsDynamodbTotalSegments = "aws.dynamodb.total_segments";
- /**
- * The ID of a running ECS task. The ID MUST be extracted from {@code task.arn}.
- */
- static constexpr const char *kAwsEcsTaskId = "aws.ecs.task.id";
- /**
- * The ARN of an <a
- * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/clusters.html">ECS cluster</a>.
- */
- static constexpr const char *kAwsEcsClusterArn = "aws.ecs.cluster.arn";
- /**
- * The Amazon Resource Name (ARN) of an <a
- * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html">ECS
- * container instance</a>.
- */
- static constexpr const char *kAwsEcsContainerArn = "aws.ecs.container.arn";
- /**
- * The <a
- * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html">launch
- * type</a> for an ECS task.
- */
- static constexpr const char *kAwsEcsLaunchtype = "aws.ecs.launchtype";
- /**
- * The ARN of a running <a
- * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#ecs-resource-ids">ECS
- * task</a>.
- */
- static constexpr const char *kAwsEcsTaskArn = "aws.ecs.task.arn";
- /**
- * The family name of the <a
- * href="https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html">ECS task
- * definition</a> used to create the ECS task.
- */
- static constexpr const char *kAwsEcsTaskFamily = "aws.ecs.task.family";
- /**
- * The revision for the task definition used to create the ECS task.
- */
- static constexpr const char *kAwsEcsTaskRevision = "aws.ecs.task.revision";
- /**
- * The ARN of an EKS cluster.
- */
- static constexpr const char *kAwsEksClusterArn = "aws.eks.cluster.arn";
- /**
- * The Amazon Resource Name(s) (ARN) of the AWS log group(s).
- *
- * <p>Notes:
- <ul> <li>See the <a
- href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format">log
- group ARN format documentation</a>.</li> </ul>
- */
- static constexpr const char *kAwsLogGroupArns = "aws.log.group.arns";
- /**
- * The name(s) of the AWS log group(s) an application is writing to.
- *
- * <p>Notes:
- <ul> <li>Multiple log groups must be supported for cases like multi-container applications, where
- a single application has sidecar containers, and each write to their own log group.</li> </ul>
- */
- static constexpr const char *kAwsLogGroupNames = "aws.log.group.names";
- /**
- * The ARN(s) of the AWS log stream(s).
- *
- * <p>Notes:
- <ul> <li>See the <a
- href="https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html#CWL_ARN_Format">log
- stream ARN format documentation</a>. One log group can contain several log streams, so these ARNs
- necessarily identify both a log group and a log stream.</li> </ul>
- */
- static constexpr const char *kAwsLogStreamArns = "aws.log.stream.arns";
- /**
- * The name(s) of the AWS log stream(s) an application is writing to.
- */
- static constexpr const char *kAwsLogStreamNames = "aws.log.stream.names";
- /**
- * The full invoked ARN as provided on the {@code Context} passed to the function ({@code
- Lambda-Runtime-Invoked-Function-Arn} header on the {@code /runtime/invocation/next} applicable).
- *
- * <p>Notes:
- <ul> <li>This may be different from {@code cloud.resource_id} if an alias is involved.</li> </ul>
- */
- static constexpr const char *kAwsLambdaInvokedArn = "aws.lambda.invoked_arn";
- /**
- * The S3 bucket name the request refers to. Corresponds to the {@code --bucket} parameter of the <a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html">S3 API</a> operations.
- *
- * <p>Notes:
- <ul> <li>The {@code bucket} attribute is applicable to all S3 operations that reference a bucket,
- i.e. that require the bucket name as a mandatory parameter. This applies to almost all S3 operations
- except {@code list-buckets}.</li> </ul>
- */
- static constexpr const char *kAwsS3Bucket = "aws.s3.bucket";
- /**
- * The source object (in the form {@code bucket}/{@code key}) for the copy operation.
- *
- * <p>Notes:
- <ul> <li>The {@code copy_source} attribute applies to S3 copy operations and corresponds to the
- {@code --copy-source} parameter of the <a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html">copy-object operation
- within the S3 API</a>. This applies in particular to the following operations:</li><li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html">copy-object</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html">upload-part-copy</a></li>
- </ul>
- */
- static constexpr const char *kAwsS3CopySource = "aws.s3.copy_source";
- /**
- * The delete request container that specifies the objects to be deleted.
- *
- * <p>Notes:
- <ul> <li>The {@code delete} attribute is only applicable to the <a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html">delete-object</a>
- operation. The {@code delete} attribute corresponds to the {@code --delete} parameter of the <a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-objects.html">delete-objects
- operation within the S3 API</a>.</li> </ul>
- */
- static constexpr const char *kAwsS3Delete = "aws.s3.delete";
- /**
- * The S3 object key the request refers to. Corresponds to the {@code --key} parameter of the <a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html">S3 API</a> operations.
- *
- * <p>Notes:
- <ul> <li>The {@code key} attribute is applicable to all object-related S3 operations, i.e. that
- require the object key as a mandatory parameter. This applies in particular to the following
- operations:</li><li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/copy-object.html">copy-object</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/delete-object.html">delete-object</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/get-object.html">get-object</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/head-object.html">head-object</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/put-object.html">put-object</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/restore-object.html">restore-object</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/select-object-content.html">select-object-content</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html">abort-multipart-upload</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html">complete-multipart-upload</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/create-multipart-upload.html">create-multipart-upload</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html">list-parts</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html">upload-part</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html">upload-part-copy</a></li>
- </ul>
- */
- static constexpr const char *kAwsS3Key = "aws.s3.key";
- /**
- * The part number of the part being uploaded in a multipart-upload operation. This is a positive
- integer between 1 and 10,000.
- *
- * <p>Notes:
- <ul> <li>The {@code part_number} attribute is only applicable to the <a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html">upload-part</a> and
- <a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html">upload-part-copy</a>
- operations. The {@code part_number} attribute corresponds to the {@code --part-number} parameter of
- the <a href="https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html">upload-part
- operation within the S3 API</a>.</li> </ul>
- */
- static constexpr const char *kAwsS3PartNumber = "aws.s3.part_number";
- /**
- * Upload ID that identifies the multipart upload.
- *
- * <p>Notes:
- <ul> <li>The {@code upload_id} attribute applies to S3 multipart-upload operations and corresponds
- to the {@code --upload-id} parameter of the <a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/index.html">S3 API</a> multipart
- operations. This applies in particular to the following operations:</li><li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/abort-multipart-upload.html">abort-multipart-upload</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/complete-multipart-upload.html">complete-multipart-upload</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/list-parts.html">list-parts</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part.html">upload-part</a></li>
- <li><a
- href="https://docs.aws.amazon.com/cli/latest/reference/s3api/upload-part-copy.html">upload-part-copy</a></li>
- </ul>
- */
- static constexpr const char *kAwsS3UploadId = "aws.s3.upload_id";
- /**
- * The unique identifier of the service request. It's generated by the Azure service and returned
- * with the response.
- */
- static constexpr const char *kAzServiceRequestId = "az.service_request_id";
- /**
- * Array of brand name and version separated by a space
- *
- * <p>Notes:
- <ul> <li>This value is intended to be taken from the <a
- href="https://wicg.github.io/ua-client-hints/#interface">UA client hints API</a> ({@code
- navigator.userAgentData.brands}).</li> </ul>
- */
- static constexpr const char *kBrowserBrands = "browser.brands";
- /**
- * Preferred language of the user using the browser
- *
- * <p>Notes:
- <ul> <li>This value is intended to be taken from the Navigator API {@code
- navigator.language}.</li> </ul>
- */
- static constexpr const char *kBrowserLanguage = "browser.language";
- /**
- * A boolean that is true if the browser is running on a mobile device
- *
- * <p>Notes:
- <ul> <li>This value is intended to be taken from the <a
- href="https://wicg.github.io/ua-client-hints/#interface">UA client hints API</a> ({@code
- navigator.userAgentData.mobile}). If unavailable, this attribute SHOULD be left unset.</li> </ul>
- */
- static constexpr const char *kBrowserMobile = "browser.mobile";
- /**
- * The platform on which the browser is running
- *
- * <p>Notes:
- <ul> <li>This value is intended to be taken from the <a
- href="https://wicg.github.io/ua-client-hints/#interface">UA client hints API</a> ({@code
- navigator.userAgentData.platform}). If unavailable, the legacy {@code navigator.platform} API SHOULD
- NOT be used instead and this attribute SHOULD be left unset in order for the values to be
- consistent. The list of possible values is defined in the <a
- href="https://wicg.github.io/ua-client-hints/#sec-ch-ua-platform">W3C User-Agent Client Hints
- specification</a>. Note that some (but not all) of these values can overlap with values in the <a
- href="./os.md">{@code os.type} and {@code os.name} attributes</a>. However, for consistency, the
- values in the {@code browser.platform} attribute should capture the exact value that the user agent
- provides.</li> </ul>
- */
- static constexpr const char *kBrowserPlatform = "browser.platform";
- /**
- * The human readable name of the pipeline within a CI/CD system.
- */
- static constexpr const char *kCicdPipelineName = "cicd.pipeline.name";
- /**
- * The unique identifier of a pipeline run within a CI/CD system.
- */
- static constexpr const char *kCicdPipelineRunId = "cicd.pipeline.run.id";
- /**
- * The human readable name of a task within a pipeline. Task here most closely aligns with a <a
- * href="https://en.wikipedia.org/wiki/Pipeline_(computing)">computing process</a> in a pipeline.
- * Other terms for tasks include commands, steps, and procedures.
- */
- static constexpr const char *kCicdPipelineTaskName = "cicd.pipeline.task.name";
- /**
- * The unique identifier of a task run within a pipeline.
- */
- static constexpr const char *kCicdPipelineTaskRunId = "cicd.pipeline.task.run.id";
- /**
- * The <a href="https://en.wikipedia.org/wiki/URL">URL</a> of the pipeline run providing the
- * complete address in order to locate and identify the pipeline run.
- */
- static constexpr const char *kCicdPipelineTaskRunUrlFull = "cicd.pipeline.task.run.url.full";
- /**
- * The type of the task within a pipeline.
- */
- static constexpr const char *kCicdPipelineTaskType = "cicd.pipeline.task.type";
- /**
- * Client address - domain name if available without reverse DNS lookup; otherwise, IP address or
- Unix domain socket name.
- *
- * <p>Notes:
- <ul> <li>When observed from the server side, and when communicating through an intermediary,
- {@code client.address} SHOULD represent the client address behind any intermediaries, for example
- proxies, if it's available.</li> </ul>
- */
- static constexpr const char *kClientAddress = "client.address";
- /**
- * Client port number.
- *
- * <p>Notes:
- <ul> <li>When observed from the server side, and when communicating through an intermediary,
- {@code client.port} SHOULD represent the client port behind any intermediaries, for example
- proxies, if it's available.</li> </ul>
- */
- static constexpr const char *kClientPort = "client.port";
- /**
- * The cloud account ID the resource is assigned to.
- */
- static constexpr const char *kCloudAccountId = "cloud.account.id";
- /**
- * Cloud regions often have multiple, isolated locations known as zones to increase availability.
- Availability zone represents the zone where the resource is running.
- *
- * <p>Notes:
- <ul> <li>Availability zones are called "zones" on Alibaba Cloud and Google Cloud.</li>
- </ul>
- */
- static constexpr const char *kCloudAvailabilityZone = "cloud.availability_zone";
- /**
- * The cloud platform in use.
- *
- * <p>Notes:
- <ul> <li>The prefix of the service SHOULD match the one specified in {@code cloud.provider}.</li>
- </ul>
- */
- static constexpr const char *kCloudPlatform = "cloud.platform";
- /**
- * Name of the cloud provider.
- */
- static constexpr const char *kCloudProvider = "cloud.provider";
- /**
- * The geographical region the resource is running.
- *
- * <p>Notes:
- <ul> <li>Refer to your provider's docs to see the available regions, for example <a
- href="https://www.alibabacloud.com/help/doc-detail/40654.htm">Alibaba Cloud regions</a>, <a
- href="https://aws.amazon.com/about-aws/global-infrastructure/regions_az/">AWS regions</a>, <a
- href="https://azure.microsoft.com/global-infrastructure/geographies/">Azure regions</a>, <a
- href="https://cloud.google.com/about/locations">Google Cloud regions</a>, or <a
- href="https://www.tencentcloud.com/document/product/213/6091">Tencent Cloud regions</a>.</li> </ul>
- */
- static constexpr const char *kCloudRegion = "cloud.region";
- /**
- * Cloud provider-specific native identifier of the monitored cloud resource (e.g. an <a
- href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a> on AWS, a
- <a href="https://learn.microsoft.com/rest/api/resources/resources/get-by-id">fully qualified
- resource ID</a> on Azure, a <a
- href="https://cloud.google.com/apis/design/resource_names#full_resource_name">full resource name</a>
- on GCP)
- *
- * <p>Notes:
- <ul> <li>On some cloud providers, it may not be possible to determine the full ID at startup,
- so it may be necessary to set {@code cloud.resource_id} as a span attribute instead.</li><li>The
- exact value to use for {@code cloud.resource_id} depends on the cloud provider. The following
- well-known definitions MUST be used if you set this attribute and they apply:</li><li><strong>AWS
- Lambda:</strong> The function <a
- href="https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html">ARN</a>. Take care
- not to use the "invoked ARN" directly but replace any <a
- href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html">alias suffix</a> with
- the resolved function version, as the same runtime instance may be invocable with multiple different
- aliases.</li> <li><strong>GCP:</strong> The <a
- href="https://cloud.google.com/iam/docs/full-resource-names">URI of the resource</a></li>
- <li><strong>Azure:</strong> The <a
- href="https://docs.microsoft.com/rest/api/resources/resources/get-by-id">Fully Qualified Resource
- ID</a> of the invoked function, <em>not</em> the function app, having the form
- {@code
- /subscriptions/<SUBSCIPTION_GUID>/resourceGroups/<RG>/providers/Microsoft.Web/sites/<FUNCAPP>/functions/<FUNC>}.
- This means that a span attribute MUST be used, as an Azure function app can host multiple functions
- that would usually share a TracerProvider.</li>
- </ul>
- */
- static constexpr const char *kCloudResourceId = "cloud.resource_id";
- /**
- * The <a href="https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#id">event_id</a>
- * uniquely identifies the event.
- */
- static constexpr const char *kCloudeventsEventId = "cloudevents.event_id";
- /**
- * The <a
- * href="https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#source-1">source</a>
- * identifies the context in which an event happened.
- */
- static constexpr const char *kCloudeventsEventSource = "cloudevents.event_source";
- /**
- * The <a
- * href="https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#specversion">version of
- * the CloudEvents specification</a> which the event uses.
- */
- static constexpr const char *kCloudeventsEventSpecVersion = "cloudevents.event_spec_version";
- /**
- * The <a
- * href="https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#subject">subject</a> of
- * the event in the context of the event producer (identified by source).
- */
- static constexpr const char *kCloudeventsEventSubject = "cloudevents.event_subject";
- /**
- * The <a
- * href="https://github.com/cloudevents/spec/blob/v1.0.2/cloudevents/spec.md#type">event_type</a>
- * contains a value describing the type of event related to the originating occurrence.
- */
- static constexpr const char *kCloudeventsEventType = "cloudevents.event_type";
- /**
- * The column number in {@code code.filepath} best representing the operation. It SHOULD point
- * within the code unit named in {@code code.function}.
- */
- static constexpr const char *kCodeColumn = "code.column";
- /**
- * The source code file name that identifies the code unit as uniquely as possible (preferably an
- * absolute file path).
- */
- static constexpr const char *kCodeFilepath = "code.filepath";
- /**
- * The method or function name, or equivalent (usually rightmost part of the code unit's name).
- */
- static constexpr const char *kCodeFunction = "code.function";
- /**
- * The line number in {@code code.filepath} best representing the operation. It SHOULD point within
- * the code unit named in {@code code.function}.
- */
- static constexpr const char *kCodeLineno = "code.lineno";
- /**
- * The "namespace" within which {@code code.function} is defined. Usually the qualified
- * class or module name, such that {@code code.namespace} + some separator + {@code code.function}
- * form a unique identifier for the code unit.
- */
- static constexpr const char *kCodeNamespace = "code.namespace";
- /**
- * A stacktrace as a string in the natural representation for the language runtime. The
- * representation is to be determined and documented by each language SIG.
- */
- static constexpr const char *kCodeStacktrace = "code.stacktrace";
- /**
- * The command used to run the container (i.e. the command name).
- *
- * <p>Notes:
- <ul> <li>If using embedded credentials or sensitive data, it is recommended to remove them to
- prevent potential leakage.</li> </ul>
- */
- static constexpr const char *kContainerCommand = "container.command";
- /**
- * All the command arguments (including the command/executable itself) run by the container. [2]
- */
- static constexpr const char *kContainerCommandArgs = "container.command_args";
- /**
- * The full command run by the container as a single string representing the full command. [2]
- */
- static constexpr const char *kContainerCommandLine = "container.command_line";
- /**
- * Container ID. Usually a UUID, as for example used to <a
- * href="https://docs.docker.com/engine/reference/run/#container-identification">identify Docker
- * containers</a>. The UUID might be abbreviated.
- */
- static constexpr const char *kContainerId = "container.id";
- /**
- * Runtime specific image identifier. Usually a hash algorithm followed by a UUID.
- *
- * <p>Notes:
- <ul> <li>Docker defines a sha256 of the image id; {@code container.image.id} corresponds to the
- {@code Image} field from the Docker container inspect <a
- href="https://docs.docker.com/engine/api/v1.43/#tag/Container/operation/ContainerInspect">API</a>
- endpoint. K8s defines a link to the container registry repository with digest {@code "imageID":
- "registry.azurecr.io
- /namespace/service/dockerfile@sha256:bdeabd40c3a8a492eaf9e8e44d0ebbb84bac7ee25ac0cf8a7159d25f62555625"}.
- The ID is assigned by the container runtime and can vary in different environments. Consider using
- {@code oci.manifest.digest} if it is important to identify the same image in different
- environments/runtimes.</li> </ul>
- */
- static constexpr const char *kContainerImageId = "container.image.id";
- /**
- * Name of the image the container was built on.
- */
- static constexpr const char *kContainerImageName = "container.image.name";
- /**
- * Repo digests of the container image as provided by the container runtime.
- *
- * <p>Notes:
- <ul> <li><a
- href="https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect">Docker</a> and <a
- href="https://github.com/kubernetes/cri-api/blob/c75ef5b473bbe2d0a4fc92f82235efd665ea8e9f/pkg/apis/runtime/v1/api.proto#L1237-L1238">CRI</a>
- report those under the {@code RepoDigests} field.</li> </ul>
- */
- static constexpr const char *kContainerImageRepoDigests = "container.image.repo_digests";
- /**
- * Container image tags. An example can be found in <a
- * href="https://docs.docker.com/engine/api/v1.43/#tag/Image/operation/ImageInspect">Docker Image
- * Inspect</a>. Should be only the {@code <tag>} section of the full name for example from {@code
- * registry.example.com/my-org/my-image:<tag>}.
- */
- static constexpr const char *kContainerImageTags = "container.image.tags";
- /**
- * Container name used by container runtime.
- */
- static constexpr const char *kContainerName = "container.name";
- /**
- * The container runtime managing this container.
- */
- static constexpr const char *kContainerRuntime = "container.runtime";
- /**
- * The mode of the CPU
- */
- static constexpr const char *kCpuMode = "cpu.mode";
- /**
- * The name of the connection pool; unique within the instrumented application. In case the
- * connection pool implementation doesn't provide a name, instrumentation SHOULD use a combination
- * of parameters that would make the name unique, for example, combining attributes {@code
- * server.address}, {@code server.port}, and {@code db.namespace}, formatted as {@code
- * server.address:server.port/db.namespace}. Instrumentations that generate connection pool name
- * following different patterns SHOULD document it.
- */
- static constexpr const char *kDbClientConnectionPoolName = "db.client.connection.pool.name";
- /**
- * The state of a connection in the pool
- */
- static constexpr const char *kDbClientConnectionState = "db.client.connection.state";
- /**
- * The name of a collection (table, container) within the database.
- *
- * <p>Notes:
- <ul> <li>It is RECOMMENDED to capture the value as provided by the application without attempting
- to do any case normalization. If the collection name is parsed from the query text, it SHOULD be the
- first collection name found in the query and it SHOULD match the value provided in the query text
- including any schema and database name prefix. For batch operations, if the individual operations
- are known to have the same collection name then that collection name SHOULD be used, otherwise
- {@code db.collection.name} SHOULD NOT be captured.</li> </ul>
- */
- static constexpr const char *kDbCollectionName = "db.collection.name";
- /**
- * The name of the database, fully qualified within the server address and port.
- *
- * <p>Notes:
- <ul> <li>If a database system has multiple namespace components, they SHOULD be concatenated
- (potentially using database system specific conventions) from most general to most specific
- namespace component, and more specific namespaces SHOULD NOT be captured without the more general
- namespaces, to ensure that "startswith" queries for the more general namespaces will be
- valid. Semantic conventions for individual database systems SHOULD document what {@code
- db.namespace} means in the context of that system. It is RECOMMENDED to capture the value as
- provided by the application without attempting to do any case normalization.</li> </ul>
- */
- static constexpr const char *kDbNamespace = "db.namespace";
- /**
- * The number of queries included in a <a
- href="/docs/database/database-spans.md#batch-operations">batch operation</a>.
- *
- * <p>Notes:
- <ul> <li>Operations are only considered batches when they contain two or more operations, and so
- {@code db.operation.batch.size} SHOULD never be {@code 1}.</li> </ul>
- */
- static constexpr const char *kDbOperationBatchSize = "db.operation.batch.size";
- /**
- * The name of the operation or command being executed.
- *
- * <p>Notes:
- <ul> <li>It is RECOMMENDED to capture the value as provided by the application without attempting
- to do any case normalization. If the operation name is parsed from the query text, it SHOULD be the
- first operation name found in the query. For batch operations, if the individual operations are
- known to have the same operation name then that operation name SHOULD be used prepended by {@code
- BATCH}, otherwise {@code db.operation.name} SHOULD be {@code BATCH} or some other database system
- specific term if more applicable.</li> </ul>
- */
- static constexpr const char *kDbOperationName = "db.operation.name";
- /**
- * The database query being executed.
- *
- * <p>Notes:
- <ul> <li>For sanitization see <a
- href="../../docs/database/database-spans.md#sanitization-of-dbquerytext">Sanitization of {@code
- db.query.text}</a>. For batch operations, if the individual operations are known to have the same
- query text then that query text SHOULD be used, otherwise all of the individual query texts SHOULD
- be concatenated with separator {@code ;} or some other database system specific separator if more
- applicable. Even though parameterized query text can potentially have sensitive data, by using a
- parameterized query the user is giving a strong signal that any sensitive data will be passed as
- parameter values, and the benefit to observability of capturing the static part of the query text by
- default outweighs the risk.</li> </ul>
- */
- static constexpr const char *kDbQueryText = "db.query.text";
- /**
- * The database management system (DBMS) product as identified by the client instrumentation.
- *
- * <p>Notes:
- <ul> <li>The actual DBMS may differ from the one identified by the client. For example, when using
- PostgreSQL client libraries to connect to a CockroachDB, the {@code db.system} is set to {@code
- postgresql} based on the instrumentation's best knowledge.</li> </ul>
- */
- static constexpr const char *kDbSystem = "db.system";
- /**
- * The consistency level of the query. Based on consistency values from <a
- * href="https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html">CQL</a>.
- */
- static constexpr const char *kDbCassandraConsistencyLevel = "db.cassandra.consistency_level";
- /**
- * The data center of the coordinating node for a query.
- */
- static constexpr const char *kDbCassandraCoordinatorDc = "db.cassandra.coordinator.dc";
- /**
- * The ID of the coordinating node for a query.
- */
- static constexpr const char *kDbCassandraCoordinatorId = "db.cassandra.coordinator.id";
- /**
- * Whether or not the query is idempotent.
- */
- static constexpr const char *kDbCassandraIdempotence = "db.cassandra.idempotence";
- /**
- * The fetch size used for paging, i.e. how many rows will be returned at once.
- */
- static constexpr const char *kDbCassandraPageSize = "db.cassandra.page_size";
- /**
- * The number of times a query was speculatively executed. Not set or {@code 0} if the query was not
- * executed speculatively.
- */
- static constexpr const char *kDbCassandraSpeculativeExecutionCount =
- "db.cassandra.speculative_execution_count";
- /**
- * Unique Cosmos client instance id.
- */
- static constexpr const char *kDbCosmosdbClientId = "db.cosmosdb.client_id";
- /**
- * Cosmos client connection mode.
- */
- static constexpr const char *kDbCosmosdbConnectionMode = "db.cosmosdb.connection_mode";
- /**
- * CosmosDB Operation Type.
- */
- static constexpr const char *kDbCosmosdbOperationType = "db.cosmosdb.operation_type";
- /**
- * RU consumed for that operation
- */
- static constexpr const char *kDbCosmosdbRequestCharge = "db.cosmosdb.request_charge";
- /**
- * Request payload size in bytes
- */
- static constexpr const char *kDbCosmosdbRequestContentLength = "db.cosmosdb.request_content_length";
- /**
- * Cosmos DB status code.
- */
- static constexpr const char *kDbCosmosdbStatusCode = "db.cosmosdb.status_code";
- /**
- * Cosmos DB sub status code.
- */
- static constexpr const char *kDbCosmosdbSubStatusCode = "db.cosmosdb.sub_status_code";
- /**
- * Represents the human-readable identifier of the node/instance to which a request was routed.
- */
- static constexpr const char *kDbElasticsearchNodeName = "db.elasticsearch.node.name";
- /**
- * Name of the <a href="https://wikipedia.org/wiki/Deployment_environment">deployment
- environment</a> (aka deployment tier).
- *
- * <p>Notes:
- <ul> <li>{@code deployment.environment.name} does not affect the uniqueness constraints defined
- through the {@code service.namespace}, {@code service.name} and {@code service.instance.id} resource
- attributes. This implies that resources carrying the following attribute combinations MUST be
- considered to be identifying the same service:</li><li>{@code service.name=frontend}, {@code
- deployment.environment.name=production}</li> <li>{@code service.name=frontend}, {@code
- deployment.environment.name=staging}.</li>
- </ul>
- */
- static constexpr const char *kDeploymentEnvironmentName = "deployment.environment.name";
- /**
- * The id of the deployment.
- */
- static constexpr const char *kDeploymentId = "deployment.id";
- /**
- * The name of the deployment.
- */
- static constexpr const char *kDeploymentName = "deployment.name";
- /**
- * The status of the deployment.
- */
- static constexpr const char *kDeploymentStatus = "deployment.status";
- /**
- * Deprecated use the {@code device.app.lifecycle} event definition including {@code android.state}
- as a payload field instead.
- *
- * <p>Notes:
- <ul> <li>The Android lifecycle states are defined in <a
- href="https://developer.android.com/guide/components/activities/activity-lifecycle#lc">Activity
- lifecycle callbacks</a>, and from which the {@code OS identifiers} are derived.</li> </ul>
- */
- static constexpr const char *kAndroidState = "android.state";
- /**
- * Deprecated, use {@code cpu.mode} instead.
- *
- * @deprecated Deprecated, use `cpu.mode` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kContainerCpuState = "container.cpu.state";
- /**
- * Deprecated, use {@code db.collection.name} instead.
- *
- * @deprecated Deprecated, use `db.collection.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCassandraTable = "db.cassandra.table";
- /**
- * Deprecated, use {@code server.address}, {@code server.port} attributes instead.
- *
- * @deprecated Deprecated, use `server.address`, `server.port` attributes instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbConnectionString = "db.connection_string";
- /**
- * Deprecated, use {@code db.collection.name} instead.
- *
- * @deprecated Deprecated, use `db.collection.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbCosmosdbContainer =
- "db.cosmosdb.container";
- /**
- * Deprecated, use {@code db.namespace} instead.
- *
- * @deprecated Deprecated, use `db.namespace` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbElasticsearchClusterName =
- "db.elasticsearch.cluster.name";
- /**
- * Deprecated, no general replacement at this time. For Elasticsearch, use {@code
- * db.elasticsearch.node.name} instead.
- *
- * @deprecated Deprecated, no general replacement at this time. For Elasticsearch, use
- * `db.elasticsearch.node.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbInstanceId = "db.instance.id";
- /**
- * Removed, no replacement at this time.
- *
- * @deprecated Removed, no replacement at this time.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbJdbcDriverClassname =
- "db.jdbc.driver_classname";
- /**
- * Deprecated, use {@code db.collection.name} instead.
- *
- * @deprecated Deprecated, use `db.collection.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbMongodbCollection =
- "db.mongodb.collection";
- /**
- * Deprecated, SQL Server instance is now populated as a part of {@code db.namespace} attribute.
- *
- * @deprecated Deprecated, SQL Server instance is now populated as a part of `db.namespace`
- * attribute.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbMssqlInstanceName =
- "db.mssql.instance_name";
- /**
- * Deprecated, use {@code db.namespace} instead.
- *
- * @deprecated Deprecated, use `db.namespace` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbName = "db.name";
- /**
- * Deprecated, use {@code db.operation.name} instead.
- *
- * @deprecated Deprecated, use `db.operation.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbOperation = "db.operation";
- /**
- * Deprecated, use {@code db.namespace} instead.
- *
- * @deprecated Deprecated, use `db.namespace` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbRedisDatabaseIndex =
- "db.redis.database_index";
- /**
- * Deprecated, use {@code db.collection.name} instead.
- *
- * @deprecated Deprecated, use `db.collection.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbSqlTable = "db.sql.table";
- /**
- * The database statement being executed.
- *
- * @deprecated The database statement being executed.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbStatement = "db.statement";
- /**
- * Deprecated, no replacement at this time.
- *
- * @deprecated Deprecated, no replacement at this time.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbUser = "db.user";
- /**
- * Deprecated, use {@code db.client.connection.pool.name} instead.
- *
- * @deprecated Deprecated, use `db.client.connection.pool.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbClientConnectionsPoolName =
- "db.client.connections.pool.name";
- /**
- * Deprecated, use {@code db.client.connection.state} instead.
- *
- * @deprecated Deprecated, use `db.client.connection.state` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDbClientConnectionsState =
- "db.client.connections.state";
- /**
- * Deprecated, use {@code db.client.connection.pool.name} instead.
- *
- * @deprecated Deprecated, use `db.client.connection.pool.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kPoolName = "pool.name";
- /**
- * Deprecated, use {@code db.client.connection.state} instead.
- *
- * @deprecated Deprecated, use `db.client.connection.state` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kState = "state";
- /**
- * 'Deprecated, use {@code deployment.environment.name} instead.'
- *
- * @deprecated 'Deprecated, use `deployment.environment.name` instead.'.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kDeploymentEnvironment =
- "deployment.environment";
- /**
- * Deprecated, use {@code user.id} instead.
- *
- * @deprecated Deprecated, use `user.id` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kEnduserId = "enduser.id";
- /**
- * Deprecated, use {@code user.roles} instead.
- *
- * @deprecated Deprecated, use `user.roles` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kEnduserRole = "enduser.role";
- /**
- * Deprecated, no replacement at this time.
- *
- * @deprecated Deprecated, no replacement at this time.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kEnduserScope = "enduser.scope";
- /**
- * Deprecated, use {@code gen_ai.usage.output_tokens} instead.
- *
- * @deprecated Deprecated, use `gen_ai.usage.output_tokens` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiUsageCompletionTokens =
- "gen_ai.usage.completion_tokens";
- /**
- * Deprecated, use {@code gen_ai.usage.input_tokens} instead.
- *
- * @deprecated Deprecated, use `gen_ai.usage.input_tokens` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kGenAiUsagePromptTokens =
- "gen_ai.usage.prompt_tokens";
- /**
- * Deprecated, use {@code client.address} instead.
- *
- * @deprecated Deprecated, use `client.address` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpClientIp = "http.client_ip";
- /**
- * Deprecated, use {@code network.protocol.name} instead.
- *
- * @deprecated Deprecated, use `network.protocol.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpFlavor = "http.flavor";
- /**
- * Deprecated, use one of {@code server.address}, {@code client.address} or {@code
- * http.request.header.host} instead, depending on the usage.
- *
- * @deprecated Deprecated, use one of `server.address`, `client.address` or
- * `http.request.header.host` instead, depending on the usage.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpHost = "http.host";
- /**
- * Deprecated, use {@code http.request.method} instead.
- *
- * @deprecated Deprecated, use `http.request.method` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpMethod = "http.method";
- /**
- * Deprecated, use {@code http.request.header.content-length} instead.
- *
- * @deprecated Deprecated, use `http.request.header.content-length` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpRequestContentLength =
- "http.request_content_length";
- /**
- * Deprecated, use {@code http.request.body.size} instead.
- *
- * @deprecated Deprecated, use `http.request.body.size` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpRequestContentLengthUncompressed =
- "http.request_content_length_uncompressed";
- /**
- * Deprecated, use {@code http.response.header.content-length} instead.
- *
- * @deprecated Deprecated, use `http.response.header.content-length` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpResponseContentLength =
- "http.response_content_length";
- /**
- * Deprecated, use {@code http.response.body.size} instead.
- *
- * @deprecated Deprecated, use `http.response.body.size` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpResponseContentLengthUncompressed =
- "http.response_content_length_uncompressed";
- /**
- * Deprecated, use {@code url.scheme} instead.
- *
- * @deprecated Deprecated, use `url.scheme` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpScheme = "http.scheme";
- /**
- * Deprecated, use {@code server.address} instead.
- *
- * @deprecated Deprecated, use `server.address` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpServerName = "http.server_name";
- /**
- * Deprecated, use {@code http.response.status_code} instead.
- *
- * @deprecated Deprecated, use `http.response.status_code` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpStatusCode = "http.status_code";
- /**
- * Deprecated, use {@code url.path} and {@code url.query} instead.
- *
- * @deprecated Deprecated, use `url.path` and `url.query` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpTarget = "http.target";
- /**
- * Deprecated, use {@code url.full} instead.
- *
- * @deprecated Deprecated, use `url.full` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpUrl = "http.url";
- /**
- * Deprecated, use {@code user_agent.original} instead.
- *
- * @deprecated Deprecated, use `user_agent.original` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kHttpUserAgent = "http.user_agent";
- /**
- * Deprecated use the {@code device.app.lifecycle} event definition including {@code ios.state} as a
- payload field instead.
- *
- * <p>Notes:
- <ul> <li>The iOS lifecycle states are defined in the <a
- href="https://developer.apple.com/documentation/uikit/uiapplicationdelegate#1656902">UIApplicationDelegate
- documentation</a>, and from which the {@code OS terminology} column values are derived.</li> </ul>
- *
- * @deprecated Deprecated use the `device.app.lifecycle` event definition including `ios.state` as a
- payload field instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kIosState = "ios.state";
- /**
- * Deprecated, no replacement at this time.
- *
- * @deprecated Deprecated, no replacement at this time.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingDestinationPublishAnonymous =
- "messaging.destination_publish.anonymous";
- /**
- * Deprecated, no replacement at this time.
- *
- * @deprecated Deprecated, no replacement at this time.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingDestinationPublishName =
- "messaging.destination_publish.name";
- /**
- * Deprecated, use {@code messaging.consumer.group.name} instead.
- *
- * @deprecated Deprecated, use `messaging.consumer.group.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingEventhubsConsumerGroup =
- "messaging.eventhubs.consumer.group";
- /**
- * Deprecated, use {@code messaging.consumer.group.name} instead.
- *
- * @deprecated Deprecated, use `messaging.consumer.group.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingKafkaConsumerGroup =
- "messaging.kafka.consumer.group";
- /**
- * Deprecated, use {@code messaging.destination.partition.id} instead.
- *
- * @deprecated Deprecated, use `messaging.destination.partition.id` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingKafkaDestinationPartition =
- "messaging.kafka.destination.partition";
- /**
- * Deprecated, use {@code messaging.kafka.offset} instead.
- *
- * @deprecated Deprecated, use `messaging.kafka.offset` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingKafkaMessageOffset =
- "messaging.kafka.message.offset";
- /**
- * Deprecated, use {@code messaging.operation.type} instead.
- *
- * @deprecated Deprecated, use `messaging.operation.type` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingOperation = "messaging.operation";
- /**
- * Deprecated, use {@code messaging.consumer.group.name} instead.
- *
- * @deprecated Deprecated, use `messaging.consumer.group.name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessagingRocketmqClientGroup =
- "messaging.rocketmq.client_group";
- /**
- * Deprecated, use {@code messaging.servicebus.destination.subscription_name} instead.
- *
- * @deprecated Deprecated, use `messaging.servicebus.destination.subscription_name` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char
- *kMessagingServicebusDestinationSubscriptionName =
- "messaging.servicebus.destination.subscription_name";
- /**
- * Deprecated, use {@code network.local.address}.
- *
- * @deprecated Deprecated, use `network.local.address`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetHostIp = "net.host.ip";
- /**
- * Deprecated, use {@code server.address}.
- *
- * @deprecated Deprecated, use `server.address`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetHostName = "net.host.name";
- /**
- * Deprecated, use {@code server.port}.
- *
- * @deprecated Deprecated, use `server.port`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetHostPort = "net.host.port";
- /**
- * Deprecated, use {@code network.peer.address}.
- *
- * @deprecated Deprecated, use `network.peer.address`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetPeerIp = "net.peer.ip";
- /**
- * Deprecated, use {@code server.address} on client spans and {@code client.address} on server
- * spans.
- *
- * @deprecated Deprecated, use `server.address` on client spans and `client.address` on server
- * spans.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetPeerName = "net.peer.name";
- /**
- * Deprecated, use {@code server.port} on client spans and {@code client.port} on server spans.
- *
- * @deprecated Deprecated, use `server.port` on client spans and `client.port` on server spans.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetPeerPort = "net.peer.port";
- /**
- * Deprecated, use {@code network.protocol.name}.
- *
- * @deprecated Deprecated, use `network.protocol.name`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetProtocolName = "net.protocol.name";
- /**
- * Deprecated, use {@code network.protocol.version}.
- *
- * @deprecated Deprecated, use `network.protocol.version`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetProtocolVersion = "net.protocol.version";
- /**
- * Deprecated, use {@code network.transport} and {@code network.type}.
- *
- * @deprecated Deprecated, use `network.transport` and `network.type`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockFamily = "net.sock.family";
- /**
- * Deprecated, use {@code network.local.address}.
- *
- * @deprecated Deprecated, use `network.local.address`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockHostAddr = "net.sock.host.addr";
- /**
- * Deprecated, use {@code network.local.port}.
- *
- * @deprecated Deprecated, use `network.local.port`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockHostPort = "net.sock.host.port";
- /**
- * Deprecated, use {@code network.peer.address}.
- *
- * @deprecated Deprecated, use `network.peer.address`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockPeerAddr = "net.sock.peer.addr";
- /**
- * Deprecated, no replacement at this time.
- *
- * @deprecated Deprecated, no replacement at this time.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockPeerName = "net.sock.peer.name";
- /**
- * Deprecated, use {@code network.peer.port}.
- *
- * @deprecated Deprecated, use `network.peer.port`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetSockPeerPort = "net.sock.peer.port";
- /**
- * Deprecated, use {@code network.transport}.
- *
- * @deprecated Deprecated, use `network.transport`.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kNetTransport = "net.transport";
- /**
- *
- *
- * @deprecated .
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kOtelLibraryName = "otel.library.name";
- /**
- *
- *
- * @deprecated .
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kOtelLibraryVersion = "otel.library.version";
- /**
- * Deprecated, use {@code cpu.mode} instead.
- *
- * @deprecated Deprecated, use `cpu.mode` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kProcessCpuState = "process.cpu.state";
- /**
- * Deprecated, use {@code rpc.message.compressed_size} instead.
- *
- * @deprecated Deprecated, use `rpc.message.compressed_size` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageCompressedSize =
- "message.compressed_size";
- /**
- * Deprecated, use {@code rpc.message.id} instead.
- *
- * @deprecated Deprecated, use `rpc.message.id` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageId = "message.id";
- /**
- * Deprecated, use {@code rpc.message.type} instead.
- *
- * @deprecated Deprecated, use `rpc.message.type` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageType = "message.type";
- /**
- * Deprecated, use {@code rpc.message.uncompressed_size} instead.
- *
- * @deprecated Deprecated, use `rpc.message.uncompressed_size` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kMessageUncompressedSize =
- "message.uncompressed_size";
- /**
- * Deprecated, use {@code cpu.mode} instead.
- *
- * @deprecated Deprecated, use `cpu.mode` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kSystemCpuState = "system.cpu.state";
- /**
- * Deprecated, use {@code system.process.status} instead.
- *
- * @deprecated Deprecated, use `system.process.status` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kSystemProcessesStatus =
- "system.processes.status";
- /**
- * Deprecated, use {@code server.address} instead.
- *
- * @deprecated Deprecated, use `server.address` instead.
- */
- OPENTELEMETRY_DEPRECATED static constexpr const char *kTlsClientServerName =
- "tls.client.server_name";
- /**
- * Destination address - domain name if available without reverse DNS lookup; otherwise, IP address
- or Unix domain socket name.
- *
- * <p>Notes:
- <ul> <li>When observed from the source side, and when communicating through an intermediary,
- {@code destination.address} SHOULD represent the destination address behind any intermediaries, for
- example proxies, if it's available.</li> </ul>
- */
- static constexpr const char *kDestinationAddress = "destination.address";
- /**
- * Destination port number
- */
- static constexpr const char *kDestinationPort = "destination.port";
- /**
- * A unique identifier representing the device
- *
- * <p>Notes:
- <ul> <li>The device identifier MUST only be defined using the values outlined below. This value is
- not an advertising identifier and MUST NOT be used as such. On iOS (Swift or Objective-C), this
- value MUST be equal to the <a
- href="https://developer.apple.com/documentation/uikit/uidevice/1620059-identifierforvendor">vendor
- identifier</a>. On Android (Java or Kotlin), this value MUST be equal to the Firebase Installation
- ID or a globally unique UUID which is persisted across sessions in your application. More
- information can be found <a
- href="https://developer.android.com/training/articles/user-data-ids">here</a> on best practices and
- exact implementation details. Caution should be taken when storing personal data or anything which
- can identify a user. GDPR and data protection laws may apply, ensure you do your own due
- diligence.</li> </ul>
- */
- static constexpr const char *kDeviceId = "device.id";
- /**
- * The name of the device manufacturer
- *
- * <p>Notes:
- <ul> <li>The Android OS provides this field via <a
- href="https://developer.android.com/reference/android/os/Build#MANUFACTURER">Build</a>. iOS apps
- SHOULD hardcode the value {@code Apple}.</li> </ul>
- */
- static constexpr const char *kDeviceManufacturer = "device.manufacturer";
- /**
- * The model identifier for the device
- *
- * <p>Notes:
- <ul> <li>It's recommended this value represents a machine-readable version of the model identifier
- rather than the market or consumer-friendly name of the device.</li> </ul>
- */
- static constexpr const char *kDeviceModelIdentifier = "device.model.identifier";
- /**
- * The marketing name for the device model
- *
- * <p>Notes:
- <ul> <li>It's recommended this value represents a human-readable version of the device model
- rather than a machine-readable alternative.</li> </ul>
- */
- static constexpr const char *kDeviceModelName = "device.model.name";
- /**
- * The disk IO operation direction.
- */
- static constexpr const char *kDiskIoDirection = "disk.io.direction";
- /**
- * The name being queried.
- *
- * <p>Notes:
- <ul> <li>If the name field contains non-printable characters (below 32 or above 126), those
- characters should be represented as escaped base 10 integers (\DDD). Back slashes and quotes should
- be escaped. Tabs, carriage returns, and line feeds should be converted to \t, \r, and \n
- respectively.</li> </ul>
- */
- static constexpr const char *kDnsQuestionName = "dns.question.name";
- /**
- * Describes a class of error the operation ended with.
- *
- * <p>Notes:
- <ul> <li>The {@code error.type} SHOULD be predictable, and SHOULD have low
- cardinality.</li><li>When {@code error.type} is set to a type (e.g., an exception type), its
- canonical class name identifying the type within the artifact SHOULD be
- used.</li><li>Instrumentations SHOULD document the list of errors they report.</li><li>The
- cardinality of {@code error.type} within one instrumentation library SHOULD be low. Telemetry
- consumers that aggregate data from multiple instrumentation libraries and applications should be
- prepared for {@code error.type} to have high cardinality at query time when no additional filters
- are applied.</li><li>If the operation has completed successfully, instrumentations SHOULD NOT set
- {@code error.type}.</li><li>If a specific domain defines its own set of error identifiers (such as
- HTTP or gRPC status codes), it's RECOMMENDED to:</li><li>Use a domain-specific attribute</li>
- <li>Set {@code error.type} to capture all errors, regardless of whether they are defined within the
- domain-specific set or not.</li>
- </ul>
- */
- static constexpr const char *kErrorType = "error.type";
- /**
- * Identifies the class / type of event.
- *
- * <p>Notes:
- <ul> <li>Event names are subject to the same rules as <a
- href="/docs/general/attribute-naming.md">attribute names</a>. Notably, event names are namespaced
- to avoid collisions and provide a clean separation of semantics for events in separate domains like
- browser, mobile, and kubernetes.</li> </ul>
- */
- static constexpr const char *kEventName = "event.name";
- /**
- * SHOULD be set to true if the exception event is recorded at a point where it is known that the
- exception is escaping the scope of the span.
- *
- * <p>Notes:
- <ul> <li>An exception is considered to have escaped (or left) the scope of a span,
- if that span is ended while the exception is still logically "in flight".
- This may be actually "in flight" in some languages (e.g. if the exception
- is passed to a Context manager's {@code __exit__} method in Python) but will
- usually be caught at the point of recording the exception in most languages.</li><li>It is usually
- not possible to determine at the point where an exception is thrown whether it will escape the scope
- of a span. However, it is trivial to know that an exception will escape, if one checks for an active
- exception just before ending the span, as done in the <a
- href="https://opentelemetry.io/docs/specs/semconv/exceptions/exceptions-spans/#recording-an-exception">example
- for recording span exceptions</a>.</li><li>It follows that an exception may still escape the scope
- of the span even if the {@code exception.escaped} attribute was not set or set to false, since the
- event might have been recorded at a time where it was not clear whether the exception will
- escape.</li> </ul>
- */
- static constexpr const char *kExceptionEscaped = "exception.escaped";
- /**
- * The exception message.
- */
- static constexpr const char *kExceptionMessage = "exception.message";
- /**
- * A stacktrace as a string in the natural representation for the language runtime. The
- * representation is to be determined and documented by each language SIG.
- */
- static constexpr const char *kExceptionStacktrace = "exception.stacktrace";
- /**
- * The type of the exception (its fully-qualified class name, if applicable). The dynamic type of
- * the exception should be preferred over the static type in languages that support it.
- */
- static constexpr const char *kExceptionType = "exception.type";
- /**
- * A boolean that is true if the serverless function is executed for the first time (aka
- * cold-start).
- */
- static constexpr const char *kFaasColdstart = "faas.coldstart";
- /**
- * A string containing the schedule period as <a
- * href="https://docs.oracle.com/cd/E12058_01/doc/doc.1014/e12030/cron_expressions.htm">Cron
- * Expression</a>.
- */
- static constexpr const char *kFaasCron = "faas.cron";
- /**
- * The name of the source on which the triggering operation was performed. For example, in Cloud
- * Storage or S3 corresponds to the bucket name, and in Cosmos DB to the database name.
- */
- static constexpr const char *kFaasDocumentCollection = "faas.document.collection";
- /**
- * The document name/table subjected to the operation. For example, in Cloud Storage or S3 is the
- * name of the file, and in Cosmos DB the table name.
- */
- static constexpr const char *kFaasDocumentName = "faas.document.name";
- /**
- * Describes the type of the operation that was performed on the data.
- */
- static constexpr const char *kFaasDocumentOperation = "faas.document.operation";
- /**
- * A string containing the time when the data was accessed in the <a
- * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a> format expressed in <a
- * href="https://www.w3.org/TR/NOTE-datetime">UTC</a>.
- */
- static constexpr const char *kFaasDocumentTime = "faas.document.time";
- /**
- * The execution environment ID as a string, that will be potentially reused for other invocations
- to the same function/function version.
- *
- * <p>Notes:
- <ul> <li><strong>AWS Lambda:</strong> Use the (full) log stream name.</li>
- </ul>
- */
- static constexpr const char *kFaasInstance = "faas.instance";
- /**
- * The invocation ID of the current function invocation.
- */
- static constexpr const char *kFaasInvocationId = "faas.invocation_id";
- /**
- * The name of the invoked function.
- *
- * <p>Notes:
- <ul> <li>SHOULD be equal to the {@code faas.name} resource attribute of the invoked function.</li>
- </ul>
- */
- static constexpr const char *kFaasInvokedName = "faas.invoked_name";
- /**
- * The cloud provider of the invoked function.
- *
- * <p>Notes:
- <ul> <li>SHOULD be equal to the {@code cloud.provider} resource attribute of the invoked
- function.</li> </ul>
- */
- static constexpr const char *kFaasInvokedProvider = "faas.invoked_provider";
- /**
- * The cloud region of the invoked function.
- *
- * <p>Notes:
- <ul> <li>SHOULD be equal to the {@code cloud.region} resource attribute of the invoked
- function.</li> </ul>
- */
- static constexpr const char *kFaasInvokedRegion = "faas.invoked_region";
- /**
- * The amount of memory available to the serverless function converted to Bytes.
- *
- * <p>Notes:
- <ul> <li>It's recommended to set this attribute since e.g. too little memory can easily stop a
- Java AWS Lambda function from working correctly. On AWS Lambda, the environment variable {@code
- AWS_LAMBDA_FUNCTION_MEMORY_SIZE} provides this information (which must be multiplied by
- 1,048,576).</li> </ul>
- */
- static constexpr const char *kFaasMaxMemory = "faas.max_memory";
- /**
- * The name of the single function that this runtime instance executes.
- *
- * <p>Notes:
- <ul> <li>This is the name of the function as configured/deployed on the FaaS
- platform and is usually different from the name of the callback
- function (which may be stored in the
- <a href="/docs/general/attributes.md#source-code-attributes">{@code code.namespace}/{@code
- code.function}</a> span attributes).</li><li>For some cloud providers, the above definition is
- ambiguous. The following definition of function name MUST be used for this attribute (and
- consequently the span name) for the listed cloud providers/products:</li><li><strong>Azure:</strong>
- The full name {@code <FUNCAPP>/<FUNC>}, i.e., function app name followed by a forward slash followed
- by the function name (this form can also be seen in the resource JSON for the function). This means
- that a span attribute MUST be used, as an Azure function app can host multiple functions that would
- usually share a TracerProvider (see also the {@code cloud.resource_id} attribute).</li>
- </ul>
- */
- static constexpr const char *kFaasName = "faas.name";
- /**
- * A string containing the function invocation time in the <a
- * href="https://www.iso.org/iso-8601-date-and-time-format.html">ISO 8601</a> format expressed in <a
- * href="https://www.w3.org/TR/NOTE-datetime">UTC</a>.
- */
- static constexpr const char *kFaasTime = "faas.time";
- /**
- * Type of the trigger which caused this function invocation.
- */
- static constexpr const char *kFaasTrigger = "faas.trigger";
- /**
- * The immutable version of the function being executed.
- *
- * <p>Notes:
- <ul> <li>Depending on the cloud provider and platform, use:</li><li><strong>AWS Lambda:</strong>
- The <a href="https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html">function
- version</a> (an integer represented as a decimal string).</li> <li><strong>Google Cloud Run
- (Services):</strong> The <a href="https://cloud.google.com/run/docs/managing/revisions">revision</a>
- (i.e., the function name plus the revision suffix).</li>
- <li><strong>Google Cloud Functions:</strong> The value of the
- <a
- href="https://cloud.google.com/functions/docs/env-var#runtime_environment_variables_set_automatically">{@code
- K_REVISION} environment variable</a>.</li> <li><strong>Azure Functions:</strong> Not applicable. Do
- not set this attribute.</li>
- </ul>
- */
- static constexpr const char *kFaasVersion = "faas.version";
- /**
- * The unique identifier of the feature flag.
- */
- static constexpr const char *kFeatureFlagKey = "feature_flag.key";
- /**
- * The name of the service provider that performs the flag evaluation.
- */
- static constexpr const char *kFeatureFlagProviderName = "feature_flag.provider_name";
- /**
- * SHOULD be a semantic identifier for a value. If one is unavailable, a stringified version of the
- value can be used.
- *
- * <p>Notes:
- <ul> <li>A semantic identifier, commonly referred to as a variant, provides a means
- for referring to a value without including the value itself. This can
- provide additional context for understanding the meaning behind a value.
- For example, the variant {@code red} maybe be used for the value {@code #c05543}.</li><li>A
- stringified version of the value can be used in situations where a semantic identifier is
- unavailable. String representation of the value should be determined by the implementer.</li> </ul>
- */
- static constexpr const char *kFeatureFlagVariant = "feature_flag.variant";
- /**
- * Directory where the file is located. It should include the drive letter, when appropriate.
- */
- static constexpr const char *kFileDirectory = "file.directory";
- /**
- * File extension, excluding the leading dot.
- *
- * <p>Notes:
- <ul> <li>When the file name has multiple extensions (example.tar.gz), only the last one should be
- captured ("gz", not "tar.gz").</li> </ul>
- */
- static constexpr const char *kFileExtension = "file.extension";
- /**
- * Name of the file including the extension, without the directory.
- */
- static constexpr const char *kFileName = "file.name";
- /**
- * Full path to the file, including the file name. It should include the drive letter, when
- * appropriate.
- */
- static constexpr const char *kFilePath = "file.path";
- /**
- * File size in bytes.
- */
- static constexpr const char *kFileSize = "file.size";
- /**
- * Identifies the Google Cloud service for which the official client library is intended.
- *
- * <p>Notes:
- <ul> <li>Intended to be a stable identifier for Google Cloud client libraries that is uniform
- across implementation languages. The value should be derived from the canonical service domain for
- the service; for example, 'foo.googleapis.com' should result in a value of 'foo'.</li> </ul>
- */
- static constexpr const char *kGcpClientService = "gcp.client.service";
- /**
- * The name of the Cloud Run <a
- * href="https://cloud.google.com/run/docs/managing/job-executions">execution</a> being run for the
- * Job, as set by the <a
- * href="https://cloud.google.com/run/docs/container-contract#jobs-env-vars">{@code
- * CLOUD_RUN_EXECUTION}</a> environment variable.
- */
- static constexpr const char *kGcpCloudRunJobExecution = "gcp.cloud_run.job.execution";
- /**
- * The index for a task within an execution as provided by the <a
- * href="https://cloud.google.com/run/docs/container-contract#jobs-env-vars">{@code
- * CLOUD_RUN_TASK_INDEX}</a> environment variable.
- */
- static constexpr const char *kGcpCloudRunJobTaskIndex = "gcp.cloud_run.job.task_index";
- /**
- * The hostname of a GCE instance. This is the full value of the default or <a
- * href="https://cloud.google.com/compute/docs/instances/custom-hostname-vm">custom hostname</a>.
- */
- static constexpr const char *kGcpGceInstanceHostname = "gcp.gce.instance.hostname";
- /**
- * The instance name of a GCE instance. This is the value provided by {@code host.name}, the visible
- * name of the instance in the Cloud Console UI, and the prefix for the default hostname of the
- * instance as defined by the <a
- * href="https://cloud.google.com/compute/docs/internal-dns#instance-fully-qualified-domain-names">default
- * internal DNS name</a>.
- */
- static constexpr const char *kGcpGceInstanceName = "gcp.gce.instance.name";
- /**
- * The full response received from the GenAI model.
- *
- * <p>Notes:
- <ul> <li>It's RECOMMENDED to format completions as JSON string matching <a
- href="https://platform.openai.com/docs/guides/text-generation">OpenAI messages format</a></li>
- </ul>
- */
- static constexpr const char *kGenAiCompletion = "gen_ai.completion";
- /**
- * The name of the operation being performed.
- *
- * <p>Notes:
- <ul> <li>If one of the predefined values applies, but specific system uses a different name it's
- RECOMMENDED to document it in the semantic conventions for specific GenAI system and use
- system-specific name in the instrumentation. If a different name is not documented, instrumentation
- libraries SHOULD use applicable predefined value.</li> </ul>
- */
- static constexpr const char *kGenAiOperationName = "gen_ai.operation.name";
- /**
- * The full prompt sent to the GenAI model.
- *
- * <p>Notes:
- <ul> <li>It's RECOMMENDED to format prompts as JSON string matching <a
- href="https://platform.openai.com/docs/guides/text-generation">OpenAI messages format</a></li>
- </ul>
- */
- static constexpr const char *kGenAiPrompt = "gen_ai.prompt";
- /**
- * The frequency penalty setting for the GenAI request.
- */
- static constexpr const char *kGenAiRequestFrequencyPenalty = "gen_ai.request.frequency_penalty";
- /**
- * The maximum number of tokens the model generates for a request.
- */
- static constexpr const char *kGenAiRequestMaxTokens = "gen_ai.request.max_tokens";
- /**
- * The name of the GenAI model a request is being made to.
- */
- static constexpr const char *kGenAiRequestModel = "gen_ai.request.model";
- /**
- * The presence penalty setting for the GenAI request.
- */
- static constexpr const char *kGenAiRequestPresencePenalty = "gen_ai.request.presence_penalty";
- /**
- * List of sequences that the model will use to stop generating further tokens.
- */
- static constexpr const char *kGenAiRequestStopSequences = "gen_ai.request.stop_sequences";
- /**
- * The temperature setting for the GenAI request.
- */
- static constexpr const char *kGenAiRequestTemperature = "gen_ai.request.temperature";
- /**
- * The top_k sampling setting for the GenAI request.
- */
- static constexpr const char *kGenAiRequestTopK = "gen_ai.request.top_k";
- /**
- * The top_p sampling setting for the GenAI request.
- */
- static constexpr const char *kGenAiRequestTopP = "gen_ai.request.top_p";
- /**
- * Array of reasons the model stopped generating tokens, corresponding to each generation received.
- */
- static constexpr const char *kGenAiResponseFinishReasons = "gen_ai.response.finish_reasons";
- /**
- * The unique identifier for the completion.
- */
- static constexpr const char *kGenAiResponseId = "gen_ai.response.id";
- /**
- * The name of the model that generated the response.
- */
- static constexpr const char *kGenAiResponseModel = "gen_ai.response.model";
- /**
- * The Generative AI product as identified by the client or server instrumentation.
- *
- * <p>Notes:
- <ul> <li>The {@code gen_ai.system} describes a family of GenAI models with specific model
- identified by {@code gen_ai.request.model} and {@code gen_ai.response.model} attributes.</li><li>The
- actual GenAI product may differ from the one identified by the client. For example, when using
- OpenAI client libraries to communicate with Mistral, the {@code gen_ai.system} is set to {@code
- openai} based on the instrumentation's best knowledge.</li><li>For custom model, a custom friendly
- name SHOULD be used. If none of these options apply, the {@code gen_ai.system} SHOULD be set to
- {@code _OTHER}.</li> </ul>
- */
- static constexpr const char *kGenAiSystem = "gen_ai.system";
- /**
- * The type of token being counted.
- */
- static constexpr const char *kGenAiTokenType = "gen_ai.token.type";
- /**
- * The number of tokens used in the GenAI input (prompt).
- */
- static constexpr const char *kGenAiUsageInputTokens = "gen_ai.usage.input_tokens";
- /**
- * The number of tokens used in the GenAI response (completion).
- */
- static constexpr const char *kGenAiUsageOutputTokens = "gen_ai.usage.output_tokens";
- /**
- * The type of memory.
- */
- static constexpr const char *kGoMemoryType = "go.memory.type";
- /**
- * The GraphQL document being executed.
- *
- * <p>Notes:
- <ul> <li>The value may be sanitized to exclude sensitive information.</li> </ul>
- */
- static constexpr const char *kGraphqlDocument = "graphql.document";
- /**
- * The name of the operation being executed.
- */
- static constexpr const char *kGraphqlOperationName = "graphql.operation.name";
- /**
- * The type of the operation being executed.
- */
- static constexpr const char *kGraphqlOperationType = "graphql.operation.type";
- /**
- * Unique identifier for the application
- */
- static constexpr const char *kHerokuAppId = "heroku.app.id";
- /**
- * Commit hash for the current release
- */
- static constexpr const char *kHerokuReleaseCommit = "heroku.release.commit";
- /**
- * Time and date the release was created
- */
- static constexpr const char *kHerokuReleaseCreationTimestamp = "heroku.release.creation_timestamp";
- /**
- * The CPU architecture the host system is running on.
- */
- static constexpr const char *kHostArch = "host.arch";
- /**
- * The amount of level 2 memory cache available to the processor (in Bytes).
- */
- static constexpr const char *kHostCpuCacheL2Size = "host.cpu.cache.l2.size";
- /**
- * Family or generation of the CPU.
- */
- static constexpr const char *kHostCpuFamily = "host.cpu.family";
- /**
- * Model identifier. It provides more granular information about the CPU, distinguishing it from
- * other CPUs within the same family.
- */
- static constexpr const char *kHostCpuModelId = "host.cpu.model.id";
- /**
- * Model designation of the processor.
- */
- static constexpr const char *kHostCpuModelName = "host.cpu.model.name";
- /**
- * Stepping or core revisions.
- */
- static constexpr const char *kHostCpuStepping = "host.cpu.stepping";
- /**
- * Processor manufacturer identifier. A maximum 12-character string.
- *
- * <p>Notes:
- <ul> <li><a href="https://wiki.osdev.org/CPUID">CPUID</a> command returns the vendor ID string in
- EBX, EDX and ECX registers. Writing these to memory in this order results in a 12-character
- string.</li> </ul>
- */
- static constexpr const char *kHostCpuVendorId = "host.cpu.vendor.id";
- /**
- * Unique host ID. For Cloud, this must be the instance_id assigned by the cloud provider. For
- * non-containerized systems, this should be the {@code machine-id}. See the table below for the
- * sources to use to determine the {@code machine-id} based on operating system.
- */
- static constexpr const char *kHostId = "host.id";
- /**
- * VM image ID or host OS image ID. For Cloud, this value is from the provider.
- */
- static constexpr const char *kHostImageId = "host.image.id";
- /**
- * Name of the VM image or OS install the host was instantiated from.
- */
- static constexpr const char *kHostImageName = "host.image.name";
- /**
- * The version string of the VM image or host OS as defined in <a
- * href="/docs/resource/README.md#version-attributes">Version Attributes</a>.
- */
- static constexpr const char *kHostImageVersion = "host.image.version";
- /**
- * Available IP addresses of the host, excluding loopback interfaces.
- *
- * <p>Notes:
- <ul> <li>IPv4 Addresses MUST be specified in dotted-quad notation. IPv6 addresses MUST be
- specified in the <a href="https://www.rfc-editor.org/rfc/rfc5952.html">RFC 5952</a> format.</li>
- </ul>
- */
- static constexpr const char *kHostIp = "host.ip";
- /**
- * Available MAC addresses of the host, excluding loopback interfaces.
- *
- * <p>Notes:
- <ul> <li>MAC Addresses MUST be represented in <a
- href="https://standards.ieee.org/wp-content/uploads/import/documents/tutorials/eui.pdf">IEEE RA
- hexadecimal form</a>: as hyphen-separated octets in uppercase hexadecimal form from most to least
- significant.</li> </ul>
- */
- static constexpr const char *kHostMac = "host.mac";
- /**
- * Name of the host. On Unix systems, it may contain what the hostname command returns, or the fully
- * qualified hostname, or another name specified by the user.
- */
- static constexpr const char *kHostName = "host.name";
- /**
- * Type of host. For Cloud, this must be the machine type.
- */
- static constexpr const char *kHostType = "host.type";
- /**
- * State of the HTTP connection in the HTTP connection pool.
- */
- static constexpr const char *kHttpConnectionState = "http.connection.state";
- /**
- * The size of the request payload body in bytes. This is the number of bytes transferred excluding
- * headers and is often, but not always, present as the <a
- * href="https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length">Content-Length</a>
- * header. For requests using transport encoding, this should be the compressed size.
- */
- static constexpr const char *kHttpRequestBodySize = "http.request.body.size";
- /**
- * HTTP request method.
- *
- * <p>Notes:
- <ul> <li>HTTP request method value SHOULD be "known" to the instrumentation.
- By default, this convention defines "known" methods as the ones listed in <a
- href="https://www.rfc-editor.org/rfc/rfc9110.html#name-methods">RFC9110</a> and the PATCH method
- defined in <a href="https://www.rfc-editor.org/rfc/rfc5789.html">RFC5789</a>.</li><li>If the HTTP
- request method is not known to instrumentation, it MUST set the {@code http.request.method}
- attribute to {@code _OTHER}.</li><li>If the HTTP instrumentation could end up converting valid HTTP
- request methods to {@code _OTHER}, then it MUST provide a way to override the list of known HTTP
- methods. If this override is done via environment variable, then the environment variable MUST be
- named OTEL_INSTRUMENTATION_HTTP_KNOWN_METHODS and support a comma-separated list of case-sensitive
- known HTTP methods (this list MUST be a full override of the default known method, it is not a list
- of known methods in addition to the defaults).</li><li>HTTP method names are case-sensitive and
- {@code http.request.method} attribute value MUST match a known HTTP method name exactly.
- Instrumentations for specific web frameworks that consider HTTP methods to be case insensitive,
- SHOULD populate a canonical equivalent. Tracing instrumentations that do so, MUST also set {@code
- http.request.method_original} to the original value.</li> </ul>
- */
- static constexpr const char *kHttpRequestMethod = "http.request.method";
- /**
- * Original HTTP method sent by the client in the request line.
- */
- static constexpr const char *kHttpRequestMethodOriginal = "http.request.method_original";
- /**
- * The ordinal number of request resending attempt (for any reason, including redirects).
- *
- * <p>Notes:
- <ul> <li>The resend count SHOULD be updated each time an HTTP request gets resent by the client,
- regardless of what was the cause of the resending (e.g. redirection, authorization failure, 503
- Server Unavailable, network issues, or any other).</li> </ul>
- */
- static constexpr const char *kHttpRequestResendCount = "http.request.resend_count";
- /**
- * The total size of the request in bytes. This should be the total number of bytes sent over the
- * wire, including the request line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and request
- * body if any.
- */
- static constexpr const char *kHttpRequestSize = "http.request.size";
- /**
- * The size of the response payload body in bytes. This is the number of bytes transferred excluding
- * headers and is often, but not always, present as the <a
- * href="https://www.rfc-editor.org/rfc/rfc9110.html#field.content-length">Content-Length</a>
- * header. For requests using transport encoding, this should be the compressed size.
- */
- static constexpr const char *kHttpResponseBodySize = "http.response.body.size";
- /**
- * The total size of the response in bytes. This should be the total number of bytes sent over the
- * wire, including the status line (HTTP/1.1), framing (HTTP/2 and HTTP/3), headers, and response
- * body and trailers if any.
- */
- static constexpr const char *kHttpResponseSize = "http.response.size";
- /**
- * <a href="https://tools.ietf.org/html/rfc7231#section-6">HTTP response status code</a>.
- */
- static constexpr const char *kHttpResponseStatusCode = "http.response.status_code";
- /**
- * The matched route, that is, the path template in the format used by the respective server
- framework.
- *
- * <p>Notes:
- <ul> <li>MUST NOT be populated when this is not supported by the HTTP server framework as the
- route attribute should have low-cardinality and the URI path can NOT substitute it. SHOULD include
- the <a href="/docs/http/http-spans.md#http-server-definitions">application root</a> if there is
- one.</li> </ul>
- */
- static constexpr const char *kHttpRoute = "http.route";
- /**
- * Name of the buffer pool.
- *
- * <p>Notes:
- <ul> <li>Pool names are generally obtained via <a
- href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/BufferPoolMXBean.html#getName()">BufferPoolMXBean#getName()</a>.</li>
- </ul>
- */
- static constexpr const char *kJvmBufferPoolName = "jvm.buffer.pool.name";
- /**
- * Name of the garbage collector action.
- *
- * <p>Notes:
- <ul> <li>Garbage collector action is generally obtained via <a
- href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcAction()">GarbageCollectionNotificationInfo#getGcAction()</a>.</li>
- </ul>
- */
- static constexpr const char *kJvmGcAction = "jvm.gc.action";
- /**
- * Name of the garbage collector.
- *
- * <p>Notes:
- <ul> <li>Garbage collector name is generally obtained via <a
- href="https://docs.oracle.com/en/java/javase/11/docs/api/jdk.management/com/sun/management/GarbageCollectionNotificationInfo.html#getGcName()">GarbageCollectionNotificationInfo#getGcName()</a>.</li>
- </ul>
- */
- static constexpr const char *kJvmGcName = "jvm.gc.name";
- /**
- * Name of the memory pool.
- *
- * <p>Notes:
- <ul> <li>Pool names are generally obtained via <a
- href="https://docs.oracle.com/en/java/javase/11/docs/api/java.management/java/lang/management/MemoryPoolMXBean.html#getName()">MemoryPoolMXBean#getName()</a>.</li>
- </ul>
- */
- static constexpr const char *kJvmMemoryPoolName = "jvm.memory.pool.name";
- /**
- * The type of memory.
- */
- static constexpr const char *kJvmMemoryType = "jvm.memory.type";
- /**
- * Whether the thread is daemon or not.
- */
- static constexpr const char *kJvmThreadDaemon = "jvm.thread.daemon";
- /**
- * State of the thread.
- */
- static constexpr const char *kJvmThreadState = "jvm.thread.state";
- /**
- * The name of the cluster.
- */
- static constexpr const char *kK8sClusterName = "k8s.cluster.name";
- /**
- * A pseudo-ID for the cluster, set to the UID of the {@code kube-system} namespace.
- *
- * <p>Notes:
- <ul> <li>K8s doesn't have support for obtaining a cluster ID. If this is ever
- added, we will recommend collecting the {@code k8s.cluster.uid} through the
- official APIs. In the meantime, we are able to use the {@code uid} of the
- {@code kube-system} namespace as a proxy for cluster ID. Read on for the
- rationale.</li><li>Every object created in a K8s cluster is assigned a distinct UID. The
- {@code kube-system} namespace is used by Kubernetes itself and will exist
- for the lifetime of the cluster. Using the {@code uid} of the {@code kube-system}
- namespace is a reasonable proxy for the K8s ClusterID as it will only
- change if the cluster is rebuilt. Furthermore, Kubernetes UIDs are
- UUIDs as standardized by
- <a href="https://www.itu.int/ITU-T/studygroups/com17/oid.html">ISO/IEC 9834-8 and ITU-T X.667</a>.
- Which states:</li><blockquote>
- <li>If generated according to one of the mechanisms defined in Rec.</li></blockquote>
- <li>ITU-T X.667 | ISO/IEC 9834-8, a UUID is either guaranteed to be
- different from all other UUIDs generated before 3603 A.D., or is
- extremely likely to be different (depending on the mechanism chosen).</li><li>Therefore, UIDs
- between clusters should be extremely unlikely to conflict.</li> </ul>
- */
- static constexpr const char *kK8sClusterUid = "k8s.cluster.uid";
- /**
- * The name of the Container from Pod specification, must be unique within a Pod. Container runtime
- * usually uses different globally unique name ({@code container.name}).
- */
- static constexpr const char *kK8sContainerName = "k8s.container.name";
- /**
- * Number of times the container was restarted. This attribute can be used to identify a particular
- * container (running or stopped) within a container spec.
- */
- static constexpr const char *kK8sContainerRestartCount = "k8s.container.restart_count";
- /**
- * Last terminated reason of the Container.
- */
- static constexpr const char *kK8sContainerStatusLastTerminatedReason =
- "k8s.container.status.last_terminated_reason";
- /**
- * The name of the CronJob.
- */
- static constexpr const char *kK8sCronjobName = "k8s.cronjob.name";
- /**
- * The UID of the CronJob.
- */
- static constexpr const char *kK8sCronjobUid = "k8s.cronjob.uid";
- /**
- * The name of the DaemonSet.
- */
- static constexpr const char *kK8sDaemonsetName = "k8s.daemonset.name";
- /**
- * The UID of the DaemonSet.
- */
- static constexpr const char *kK8sDaemonsetUid = "k8s.daemonset.uid";
- /**
- * The name of the Deployment.
- */
- static constexpr const char *kK8sDeploymentName = "k8s.deployment.name";
- /**
- * The UID of the Deployment.
- */
- static constexpr const char *kK8sDeploymentUid = "k8s.deployment.uid";
- /**
- * The name of the Job.
- */
- static constexpr const char *kK8sJobName = "k8s.job.name";
- /**
- * The UID of the Job.
- */
- static constexpr const char *kK8sJobUid = "k8s.job.uid";
- /**
- * The name of the namespace that the pod is running in.
- */
- static constexpr const char *kK8sNamespaceName = "k8s.namespace.name";
- /**
- * The name of the Node.
- */
- static constexpr const char *kK8sNodeName = "k8s.node.name";
- /**
- * The UID of the Node.
- */
- static constexpr const char *kK8sNodeUid = "k8s.node.uid";
- /**
- * The name of the Pod.
- */
- static constexpr const char *kK8sPodName = "k8s.pod.name";
- /**
- * The UID of the Pod.
- */
- static constexpr const char *kK8sPodUid = "k8s.pod.uid";
- /**
- * The name of the ReplicaSet.
- */
- static constexpr const char *kK8sReplicasetName = "k8s.replicaset.name";
- /**
- * The UID of the ReplicaSet.
- */
- static constexpr const char *kK8sReplicasetUid = "k8s.replicaset.uid";
- /**
- * The name of the StatefulSet.
- */
- static constexpr const char *kK8sStatefulsetName = "k8s.statefulset.name";
- /**
- * The UID of the StatefulSet.
- */
- static constexpr const char *kK8sStatefulsetUid = "k8s.statefulset.uid";
- /**
- * The Linux Slab memory state
- */
- static constexpr const char *kLinuxMemorySlabState = "linux.memory.slab.state";
- /**
- * The stream associated with the log. See below for a list of well-known values.
- */
- static constexpr const char *kLogIostream = "log.iostream";
- /**
- * The basename of the file.
- */
- static constexpr const char *kLogFileName = "log.file.name";
- /**
- * The basename of the file, with symlinks resolved.
- */
- static constexpr const char *kLogFileNameResolved = "log.file.name_resolved";
- /**
- * The full path to the file.
- */
- static constexpr const char *kLogFilePath = "log.file.path";
- /**
- * The full path to the file, with symlinks resolved.
- */
- static constexpr const char *kLogFilePathResolved = "log.file.path_resolved";
- /**
- * The complete orignal Log Record.
- *
- * <p>Notes:
- <ul> <li>This value MAY be added when processing a Log Record which was originally transmitted as
- a string or equivalent data type AND the Body field of the Log Record does not contain the same
- value. (e.g. a syslog or a log record read from a file.)</li> </ul>
- */
- static constexpr const char *kLogRecordOriginal = "log.record.original";
- /**
- * A unique identifier for the Log Record.
- *
- * <p>Notes:
- <ul> <li>If an id is provided, other log records with the same id will be considered duplicates
- and can be removed safely. This means, that two distinguishable log records MUST have different
- values. The id MAY be an <a href="https://github.com/ulid/spec">Universally Unique Lexicographically
- Sortable Identifier (ULID)</a>, but other identifiers (e.g. UUID) may be used as needed.</li> </ul>
- */
- static constexpr const char *kLogRecordUid = "log.record.uid";
- /**
- * The number of messages sent, received, or processed in the scope of the batching operation.
- *
- * <p>Notes:
- <ul> <li>Instrumentations SHOULD NOT set {@code messaging.batch.message_count} on spans that
- operate with a single message. When a messaging client library supports both batch and
- single-message API for the same operation, instrumentations SHOULD use {@code
- messaging.batch.message_count} for batching APIs and SHOULD NOT use it for single-message
- APIs.</li> </ul>
- */
- static constexpr const char *kMessagingBatchMessageCount = "messaging.batch.message_count";
- /**
- * A unique identifier for the client that consumes or produces a message.
- */
- static constexpr const char *kMessagingClientId = "messaging.client.id";
- /**
- * The name of the consumer group with which a consumer is associated.
- *
- * <p>Notes:
- <ul> <li>Semantic conventions for individual messaging systems SHOULD document whether {@code
- messaging.consumer.group.name} is applicable and what it means in the context of that system.</li>
- </ul>
- */
- static constexpr const char *kMessagingConsumerGroupName = "messaging.consumer.group.name";
- /**
- * A boolean that is true if the message destination is anonymous (could be unnamed or have
- * auto-generated name).
- */
- static constexpr const char *kMessagingDestinationAnonymous = "messaging.destination.anonymous";
- /**
- * The message destination name
- *
- * <p>Notes:
- <ul> <li>Destination name SHOULD uniquely identify a specific queue, topic or other entity within
- the broker. If the broker doesn't have such notion, the destination name SHOULD uniquely identify
- the broker.</li> </ul>
- */
- static constexpr const char *kMessagingDestinationName = "messaging.destination.name";
- /**
- * The identifier of the partition messages are sent to or received from, unique within the {@code
- * messaging.destination.name}.
- */
- static constexpr const char *kMessagingDestinationPartitionId =
- "messaging.destination.partition.id";
- /**
- * The name of the destination subscription from which a message is consumed.
- *
- * <p>Notes:
- <ul> <li>Semantic conventions for individual messaging systems SHOULD document whether {@code
- messaging.destination.subscription.name} is applicable and what it means in the context of that
- system.</li> </ul>
- */
- static constexpr const char *kMessagingDestinationSubscriptionName =
- "messaging.destination.subscription.name";
- /**
- * Low cardinality representation of the messaging destination name
- *
- * <p>Notes:
- <ul> <li>Destination names could be constructed from templates. An example would be a destination
- name involving a user name or product id. Although the destination name in this case is of high
- cardinality, the underlying template is of low cardinality and can be effectively used for grouping
- and aggregation.</li> </ul>
- */
- static constexpr const char *kMessagingDestinationTemplate = "messaging.destination.template";
- /**
- * A boolean that is true if the message destination is temporary and might not exist anymore after
- * messages are processed.
- */
- static constexpr const char *kMessagingDestinationTemporary = "messaging.destination.temporary";
- /**
- * The size of the message body in bytes.
- *
- * <p>Notes:
- <ul> <li>This can refer to both the compressed or uncompressed body size. If both sizes are known,
- the uncompressed body size should be used.</li> </ul>
- */
- static constexpr const char *kMessagingMessageBodySize = "messaging.message.body.size";
- /**
- * The conversation ID identifying the conversation to which the message belongs, represented as a
- * string. Sometimes called "Correlation ID".
- */
- static constexpr const char *kMessagingMessageConversationId = "messaging.message.conversation_id";
- /**
- * The size of the message body and metadata in bytes.
- *
- * <p>Notes:
- <ul> <li>This can refer to both the compressed or uncompressed size. If both sizes are known, the
- uncompressed size should be used.</li> </ul>
- */
- static constexpr const char *kMessagingMessageEnvelopeSize = "messaging.message.envelope.size";
- /**
- * A value used by the messaging system as an identifier for the message, represented as a string.
- */
- static constexpr const char *kMessagingMessageId = "messaging.message.id";
- /**
- * The system-specific name of the messaging operation.
- */
- static constexpr const char *kMessagingOperationName = "messaging.operation.name";
- /**
- * A string identifying the type of the messaging operation.
- *
- * <p>Notes:
- <ul> <li>If a custom value is used, it MUST be of low cardinality.</li> </ul>
- */
- static constexpr const char *kMessagingOperationType = "messaging.operation.type";
- /**
- * The messaging system as identified by the client instrumentation.
- *
- * <p>Notes:
- <ul> <li>The actual messaging system may differ from the one known by the client. For example,
- when using Kafka client libraries to communicate with Azure Event Hubs, the {@code
- messaging.system} is set to {@code kafka} based on the instrumentation's best knowledge.</li> </ul>
- */
- static constexpr const char *kMessagingSystem = "messaging.system";
- /**
- * Message keys in Kafka are used for grouping alike messages to ensure they're processed on the
- same partition. They differ from {@code messaging.message.id} in that they're not unique. If the
- key is {@code null}, the attribute MUST NOT be set.
- *
- * <p>Notes:
- <ul> <li>If the key type is not string, it's string representation has to be supplied for the
- attribute. If the key has no unambiguous, canonical string form, don't include its value.</li>
- </ul>
- */
- static constexpr const char *kMessagingKafkaMessageKey = "messaging.kafka.message.key";
- /**
- * A boolean that is true if the message is a tombstone.
- */
- static constexpr const char *kMessagingKafkaMessageTombstone = "messaging.kafka.message.tombstone";
- /**
- * The offset of a record in the corresponding Kafka partition.
- */
- static constexpr const char *kMessagingKafkaOffset = "messaging.kafka.offset";
- /**
- * RabbitMQ message routing key.
- */
- static constexpr const char *kMessagingRabbitmqDestinationRoutingKey =
- "messaging.rabbitmq.destination.routing_key";
- /**
- * RabbitMQ message delivery tag
- */
- static constexpr const char *kMessagingRabbitmqMessageDeliveryTag =
- "messaging.rabbitmq.message.delivery_tag";
- /**
- * Model of message consumption. This only applies to consumer spans.
- */
- static constexpr const char *kMessagingRocketmqConsumptionModel =
- "messaging.rocketmq.consumption_model";
- /**
- * The delay time level for delay message, which determines the message delay time.
- */
- static constexpr const char *kMessagingRocketmqMessageDelayTimeLevel =
- "messaging.rocketmq.message.delay_time_level";
- /**
- * The timestamp in milliseconds that the delay message is expected to be delivered to consumer.
- */
- static constexpr const char *kMessagingRocketmqMessageDeliveryTimestamp =
- "messaging.rocketmq.message.delivery_timestamp";
- /**
- * It is essential for FIFO message. Messages that belong to the same message group are always
- * processed one by one within the same consumer group.
- */
- static constexpr const char *kMessagingRocketmqMessageGroup = "messaging.rocketmq.message.group";
- /**
- * Key(s) of message, another way to mark message besides message id.
- */
- static constexpr const char *kMessagingRocketmqMessageKeys = "messaging.rocketmq.message.keys";
- /**
- * The secondary classifier of message besides topic.
- */
- static constexpr const char *kMessagingRocketmqMessageTag = "messaging.rocketmq.message.tag";
- /**
- * Type of message.
- */
- static constexpr const char *kMessagingRocketmqMessageType = "messaging.rocketmq.message.type";
- /**
- * Namespace of RocketMQ resources, resources in different namespaces are individual.
- */
- static constexpr const char *kMessagingRocketmqNamespace = "messaging.rocketmq.namespace";
- /**
- * The ack deadline in seconds set for the modify ack deadline request.
- */
- static constexpr const char *kMessagingGcpPubsubMessageAckDeadline =
- "messaging.gcp_pubsub.message.ack_deadline";
- /**
- * The ack id for a given message.
- */
- static constexpr const char *kMessagingGcpPubsubMessageAckId =
- "messaging.gcp_pubsub.message.ack_id";
- /**
- * The delivery attempt for a given message.
- */
- static constexpr const char *kMessagingGcpPubsubMessageDeliveryAttempt =
- "messaging.gcp_pubsub.message.delivery_attempt";
- /**
- * The ordering key for a given message. If the attribute is not present, the message does not have
- * an ordering key.
- */
- static constexpr const char *kMessagingGcpPubsubMessageOrderingKey =
- "messaging.gcp_pubsub.message.ordering_key";
- /**
- * Describes the <a
- * href="https://learn.microsoft.com/azure/service-bus-messaging/message-transfers-locks-settlement#peeklock">settlement
- * type</a>.
- */
- static constexpr const char *kMessagingServicebusDispositionStatus =
- "messaging.servicebus.disposition_status";
- /**
- * Number of deliveries that have been attempted for this message.
- */
- static constexpr const char *kMessagingServicebusMessageDeliveryCount =
- "messaging.servicebus.message.delivery_count";
- /**
- * The UTC epoch seconds at which the message has been accepted and stored in the entity.
- */
- static constexpr const char *kMessagingServicebusMessageEnqueuedTime =
- "messaging.servicebus.message.enqueued_time";
- /**
- * The UTC epoch seconds at which the message has been accepted and stored in the entity.
- */
- static constexpr const char *kMessagingEventhubsMessageEnqueuedTime =
- "messaging.eventhubs.message.enqueued_time";
- /**
- * The ISO 3166-1 alpha-2 2-character country code associated with the mobile carrier network.
- */
- static constexpr const char *kNetworkCarrierIcc = "network.carrier.icc";
- /**
- * The mobile carrier country code.
- */
- static constexpr const char *kNetworkCarrierMcc = "network.carrier.mcc";
- /**
- * The mobile carrier network code.
- */
- static constexpr const char *kNetworkCarrierMnc = "network.carrier.mnc";
- /**
- * The name of the mobile carrier.
- */
- static constexpr const char *kNetworkCarrierName = "network.carrier.name";
- /**
- * This describes more details regarding the connection.type. It may be the type of cell technology
- * connection, but it could be used for describing details about a wifi connection.
- */
- static constexpr const char *kNetworkConnectionSubtype = "network.connection.subtype";
- /**
- * The internet connection type.
- */
- static constexpr const char *kNetworkConnectionType = "network.connection.type";
- /**
- * The network IO operation direction.
- */
- static constexpr const char *kNetworkIoDirection = "network.io.direction";
- /**
- * Local address of the network connection - IP address or Unix domain socket name.
- */
- static constexpr const char *kNetworkLocalAddress = "network.local.address";
- /**
- * Local port number of the network connection.
- */
- static constexpr const char *kNetworkLocalPort = "network.local.port";
- /**
- * Peer address of the network connection - IP address or Unix domain socket name.
- */
- static constexpr const char *kNetworkPeerAddress = "network.peer.address";
- /**
- * Peer port number of the network connection.
- */
- static constexpr const char *kNetworkPeerPort = "network.peer.port";
- /**
- * <a href="https://osi-model.com/application-layer/">OSI application layer</a> or non-OSI
- equivalent.
- *
- * <p>Notes:
- <ul> <li>The value SHOULD be normalized to lowercase.</li> </ul>
- */
- static constexpr const char *kNetworkProtocolName = "network.protocol.name";
- /**
- * The actual version of the protocol used for network communication.
- *
- * <p>Notes:
- <ul> <li>If protocol version is subject to negotiation (for example using <a
- href="https://www.rfc-editor.org/rfc/rfc7301.html">ALPN</a>), this attribute SHOULD be set to the
- negotiated version. If the actual protocol version is not known, this attribute SHOULD NOT be
- set.</li> </ul>
- */
- static constexpr const char *kNetworkProtocolVersion = "network.protocol.version";
- /**
- * <a href="https://osi-model.com/transport-layer/">OSI transport layer</a> or <a
- href="https://wikipedia.org/wiki/Inter-process_communication">inter-process communication
- method</a>.
- *
- * <p>Notes:
- <ul> <li>The value SHOULD be normalized to lowercase.</li><li>Consider always setting the
- transport when setting a port number, since a port number is ambiguous without knowing the
- transport. For example different processes could be listening on TCP port 12345 and UDP port
- 12345.</li> </ul>
- */
- static constexpr const char *kNetworkTransport = "network.transport";
- /**
- * <a href="https://osi-model.com/network-layer/">OSI network layer</a> or non-OSI equivalent.
- *
- * <p>Notes:
- <ul> <li>The value SHOULD be normalized to lowercase.</li> </ul>
- */
- static constexpr const char *kNetworkType = "network.type";
- /**
- * The digest of the OCI image manifest. For container images specifically is the digest by which
- the container image is known.
- *
- * <p>Notes:
- <ul> <li>Follows <a href="https://github.com/opencontainers/image-spec/blob/main/manifest.md">OCI
- Image Manifest Specification</a>, and specifically the <a
- href="https://github.com/opencontainers/image-spec/blob/main/descriptor.md#digests">Digest
- property</a>. An example can be found in <a
- href="https://docs.docker.com/registry/spec/manifest-v2-2/#example-image-manifest">Example Image
- Manifest</a>.</li> </ul>
- */
- static constexpr const char *kOciManifestDigest = "oci.manifest.digest";
- /**
- * Parent-child Reference type
- *
- * <p>Notes:
- <ul> <li>The causal relationship between a child Span and a parent Span.</li> </ul>
- */
- static constexpr const char *kOpentracingRefType = "opentracing.ref_type";
- /**
- * Unique identifier for a particular build or compilation of the operating system.
- */
- static constexpr const char *kOsBuildId = "os.build_id";
- /**
- * Human readable (not intended to be parsed) OS version information, like e.g. reported by {@code
- * ver} or {@code lsb_release -a} commands.
- */
- static constexpr const char *kOsDescription = "os.description";
- /**
- * Human readable operating system name.
- */
- static constexpr const char *kOsName = "os.name";
- /**
- * The operating system type.
- */
- static constexpr const char *kOsType = "os.type";
- /**
- * The version string of the operating system as defined in <a
- * href="/docs/resource/README.md#version-attributes">Version Attributes</a>.
- */
- static constexpr const char *kOsVersion = "os.version";
- /**
- * Name of the code, either "OK" or "ERROR". MUST NOT be set if the status code
- * is UNSET.
- */
- static constexpr const char *kOtelStatusCode = "otel.status_code";
- /**
- * Description of the Status if it has a value, otherwise not set.
- */
- static constexpr const char *kOtelStatusDescription = "otel.status_description";
- /**
- * The name of the instrumentation scope - ({@code InstrumentationScope.Name} in OTLP).
- */
- static constexpr const char *kOtelScopeName = "otel.scope.name";
- /**
- * The version of the instrumentation scope - ({@code InstrumentationScope.Version} in OTLP).
- */
- static constexpr const char *kOtelScopeVersion = "otel.scope.version";
- /**
- * The <a href="/docs/resource/README.md#service">{@code service.name}</a> of the remote service.
- * SHOULD be equal to the actual {@code service.name} resource attribute of the remote service if
- * any.
- */
- static constexpr const char *kPeerService = "peer.service";
- /**
- * The command used to launch the process (i.e. the command name). On Linux based systems, can be
- * set to the zeroth string in {@code proc/[pid]/cmdline}. On Windows, can be set to the first
- * parameter extracted from {@code GetCommandLineW}.
- */
- static constexpr const char *kProcessCommand = "process.command";
- /**
- * All the command arguments (including the command/executable itself) as received by the process.
- * On Linux-based systems (and some other Unixoid systems supporting procfs), can be set according
- * to the list of null-delimited strings extracted from {@code proc/[pid]/cmdline}. For libc-based
- * executables, this would be the full argv vector passed to {@code main}.
- */
- static constexpr const char *kProcessCommandArgs = "process.command_args";
- /**
- * The full command used to launch the process as a single string representing the full command. On
- * Windows, can be set to the result of {@code GetCommandLineW}. Do not set this if you have to
- * assemble it just for monitoring; use {@code process.command_args} instead.
- */
- static constexpr const char *kProcessCommandLine = "process.command_line";
- /**
- * Specifies whether the context switches for this data point were voluntary or involuntary.
- */
- static constexpr const char *kProcessContextSwitchType = "process.context_switch_type";
- /**
- * The date and time the process was created, in ISO 8601 format.
- */
- static constexpr const char *kProcessCreationTime = "process.creation.time";
- /**
- * The name of the process executable. On Linux based systems, can be set to the {@code Name} in
- * {@code proc/[pid]/status}. On Windows, can be set to the base name of {@code
- * GetProcessImageFileNameW}.
- */
- static constexpr const char *kProcessExecutableName = "process.executable.name";
- /**
- * The full path to the process executable. On Linux based systems, can be set to the target of
- * {@code proc/[pid]/exe}. On Windows, can be set to the result of {@code GetProcessImageFileNameW}.
- */
- static constexpr const char *kProcessExecutablePath = "process.executable.path";
- /**
- * The exit code of the process.
- */
- static constexpr const char *kProcessExitCode = "process.exit.code";
- /**
- * The date and time the process exited, in ISO 8601 format.
- */
- static constexpr const char *kProcessExitTime = "process.exit.time";
- /**
- * The PID of the process's group leader. This is also the process group ID (PGID) of the process.
- */
- static constexpr const char *kProcessGroupLeaderPid = "process.group_leader.pid";
- /**
- * Whether the process is connected to an interactive shell.
- */
- static constexpr const char *kProcessInteractive = "process.interactive";
- /**
- * The username of the user that owns the process.
- */
- static constexpr const char *kProcessOwner = "process.owner";
- /**
- * The type of page fault for this data point. Type {@code major} is for major/hard page faults, and
- * {@code minor} is for minor/soft page faults.
- */
- static constexpr const char *kProcessPagingFaultType = "process.paging.fault_type";
- /**
- * Parent Process identifier (PPID).
- */
- static constexpr const char *kProcessParentPid = "process.parent_pid";
- /**
- * Process identifier (PID).
- */
- static constexpr const char *kProcessPid = "process.pid";
- /**
- * The real user ID (RUID) of the process.
- */
- static constexpr const char *kProcessRealUserId = "process.real_user.id";
- /**
- * The username of the real user of the process.
- */
- static constexpr const char *kProcessRealUserName = "process.real_user.name";
- /**
- * An additional description about the runtime of the process, for example a specific vendor
- * customization of the runtime environment.
- */
- static constexpr const char *kProcessRuntimeDescription = "process.runtime.description";
- /**
- * The name of the runtime of this process.
- */
- static constexpr const char *kProcessRuntimeName = "process.runtime.name";
- /**
- * The version of the runtime of this process, as returned by the runtime without modification.
- */
- static constexpr const char *kProcessRuntimeVersion = "process.runtime.version";
- /**
- * The saved user ID (SUID) of the process.
- */
- static constexpr const char *kProcessSavedUserId = "process.saved_user.id";
- /**
- * The username of the saved user.
- */
- static constexpr const char *kProcessSavedUserName = "process.saved_user.name";
- /**
- * The PID of the process's session leader. This is also the session ID (SID) of the process.
- */
- static constexpr const char *kProcessSessionLeaderPid = "process.session_leader.pid";
- /**
- * The effective user ID (EUID) of the process.
- */
- static constexpr const char *kProcessUserId = "process.user.id";
- /**
- * The username of the effective user of the process.
- */
- static constexpr const char *kProcessUserName = "process.user.name";
- /**
- * Virtual process identifier.
- *
- * <p>Notes:
- <ul> <li>The process ID within a PID namespace. This is not necessarily unique across all
- processes on the host but it is unique within the process namespace that the process exists
- within.</li> </ul>
- */
- static constexpr const char *kProcessVpid = "process.vpid";
- /**
- * The <a href="https://connect.build/docs/protocol/#error-codes">error codes</a> of the Connect
- * request. Error codes are always string values.
- */
- static constexpr const char *kRpcConnectRpcErrorCode = "rpc.connect_rpc.error_code";
- /**
- * The <a href="https://github.com/grpc/grpc/blob/v1.33.2/doc/statuscodes.md">numeric status
- * code</a> of the gRPC request.
- */
- static constexpr const char *kRpcGrpcStatusCode = "rpc.grpc.status_code";
- /**
- * {@code error.code} property of response if it is an error response.
- */
- static constexpr const char *kRpcJsonrpcErrorCode = "rpc.jsonrpc.error_code";
- /**
- * {@code error.message} property of response if it is an error response.
- */
- static constexpr const char *kRpcJsonrpcErrorMessage = "rpc.jsonrpc.error_message";
- /**
- * {@code id} property of request or response. Since protocol allows id to be int, string, {@code
- * null} or missing (for notifications), value is expected to be cast to string for simplicity. Use
- * empty string in case of {@code null} value. Omit entirely if this is a notification.
- */
- static constexpr const char *kRpcJsonrpcRequestId = "rpc.jsonrpc.request_id";
- /**
- * Protocol version as in {@code jsonrpc} property of request/response. Since JSON-RPC 1.0 doesn't
- * specify this, the value can be omitted.
- */
- static constexpr const char *kRpcJsonrpcVersion = "rpc.jsonrpc.version";
- /**
- * Compressed size of the message in bytes.
- */
- static constexpr const char *kRpcMessageCompressedSize = "rpc.message.compressed_size";
- /**
- * MUST be calculated as two different counters starting from {@code 1} one for sent messages and
- one for received message.
- *
- * <p>Notes:
- <ul> <li>This way we guarantee that the values will be consistent between different
- implementations.</li> </ul>
- */
- static constexpr const char *kRpcMessageId = "rpc.message.id";
- /**
- * Whether this is a received or sent message.
- */
- static constexpr const char *kRpcMessageType = "rpc.message.type";
- /**
- * Uncompressed size of the message in bytes.
- */
- static constexpr const char *kRpcMessageUncompressedSize = "rpc.message.uncompressed_size";
- /**
- * The name of the (logical) method being called, must be equal to the $method part in the span
- name.
- *
- * <p>Notes:
- <ul> <li>This is the logical name of the method from the RPC interface perspective, which can be
- different from the name of any implementing method/function. The {@code code.function} attribute
- may be used to store the latter (e.g., method actually executing the call on the server side, RPC
- client stub method on the client side).</li> </ul>
- */
- static constexpr const char *kRpcMethod = "rpc.method";
- /**
- * The full (logical) name of the service being called, including its package name, if applicable.
- *
- * <p>Notes:
- <ul> <li>This is the logical name of the service from the RPC interface perspective, which can be
- different from the name of any implementing class. The {@code code.namespace} attribute may be used
- to store the latter (despite the attribute name, it may include a class name; e.g., class with
- method actually executing the call on the server side, RPC client stub class on the client
- side).</li> </ul>
- */
- static constexpr const char *kRpcService = "rpc.service";
- /**
- * A string identifying the remoting system. See below for a list of well-known identifiers.
- */
- static constexpr const char *kRpcSystem = "rpc.system";
- /**
- * Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain
- socket name.
- *
- * <p>Notes:
- <ul> <li>When observed from the client side, and when communicating through an intermediary,
- {@code server.address} SHOULD represent the server address behind any intermediaries, for example
- proxies, if it's available.</li> </ul>
- */
- static constexpr const char *kServerAddress = "server.address";
- /**
- * Server port number.
- *
- * <p>Notes:
- <ul> <li>When observed from the client side, and when communicating through an intermediary,
- {@code server.port} SHOULD represent the server port behind any intermediaries, for example
- proxies, if it's available.</li> </ul>
- */
- static constexpr const char *kServerPort = "server.port";
- /**
- * The string ID of the service instance.
- *
- * <p>Notes:
- <ul> <li>MUST be unique for each instance of the same {@code service.namespace,service.name} pair
- (in other words
- {@code service.namespace,service.name,service.instance.id} triplet MUST be globally unique). The ID
- helps to distinguish instances of the same service that exist at the same time (e.g. instances of a
- horizontally scaled service).</li><li>Implementations, such as SDKs, are recommended to generate a
- random Version 1 or Version 4 <a href="https://www.ietf.org/rfc/rfc4122.txt">RFC 4122</a> UUID, but
- are free to use an inherent unique ID as the source of this value if stability is desirable. In that
- case, the ID SHOULD be used as source of a UUID Version 5 and SHOULD use the following UUID as the
- namespace: {@code 4d63009a-8d0f-11ee-aad7-4c796ed8e320}.</li><li>UUIDs are typically recommended, as
- only an opaque value for the purposes of identifying a service instance is needed. Similar to what
- can be seen in the man page for the <a
- href="https://www.freedesktop.org/software/systemd/man/machine-id.html">{@code /etc/machine-id}</a>
- file, the underlying data, such as pod name and namespace should be treated as confidential, being
- the user's choice to expose it or not via another resource attribute.</li><li>For applications
- running behind an application server (like unicorn), we do not recommend using one identifier for
- all processes participating in the application. Instead, it's recommended each division (e.g. a
- worker thread in unicorn) to have its own instance.id.</li><li>It's not recommended for a Collector
- to set {@code service.instance.id} if it can't unambiguously determine the service instance that is
- generating that telemetry. For instance, creating an UUID based on {@code pod.name} will likely be
- wrong, as the Collector might not know from which container within that pod the telemetry
- originated. However, Collectors can set the {@code service.instance.id} if they can unambiguously
- determine the service instance for that telemetry. This is typically the case for scraping
- receivers, as they know the target address and port.</li> </ul>
- */
- static constexpr const char *kServiceInstanceId = "service.instance.id";
- /**
- * Logical name of the service.
- *
- * <p>Notes:
- <ul> <li>MUST be the same for all instances of horizontally scaled services. If the value was not
- specified, SDKs MUST fallback to {@code unknown_service:} concatenated with <a
- href="process.md">{@code process.executable.name}</a>, e.g. {@code unknown_service:bash}. If {@code
- process.executable.name} is not available, the value MUST be set to {@code unknown_service}.</li>
- </ul>
- */
- static constexpr const char *kServiceName = "service.name";
- /**
- * A namespace for {@code service.name}.
- *
- * <p>Notes:
- <ul> <li>A string value having a meaning that helps to distinguish a group of services, for
- example the team name that owns a group of services. {@code service.name} is expected to be unique
- within the same namespace. If {@code service.namespace} is not specified in the Resource then
- {@code service.name} is expected to be unique for all services that have no explicit namespace
- defined (so the empty/unspecified namespace is simply one more valid namespace). Zero-length
- namespace string is assumed equal to unspecified namespace.</li> </ul>
- */
- static constexpr const char *kServiceNamespace = "service.namespace";
- /**
- * The version string of the service API or implementation. The format is not defined by these
- * conventions.
- */
- static constexpr const char *kServiceVersion = "service.version";
- /**
- * A unique id to identify a session.
- */
- static constexpr const char *kSessionId = "session.id";
- /**
- * The previous {@code session.id} for this user, when known.
- */
- static constexpr const char *kSessionPreviousId = "session.previous_id";
- /**
- * SignalR HTTP connection closure status.
- */
- static constexpr const char *kSignalrConnectionStatus = "signalr.connection.status";
- /**
- * <a
- * href="https://github.com/dotnet/aspnetcore/blob/main/src/SignalR/docs/specs/TransportProtocols.md">SignalR
- * transport type</a>
- */
- static constexpr const char *kSignalrTransport = "signalr.transport";
- /**
- * Source address - domain name if available without reverse DNS lookup; otherwise, IP address or
- Unix domain socket name.
- *
- * <p>Notes:
- <ul> <li>When observed from the destination side, and when communicating through an intermediary,
- {@code source.address} SHOULD represent the source address behind any intermediaries, for example
- proxies, if it's available.</li> </ul>
- */
- static constexpr const char *kSourceAddress = "source.address";
- /**
- * Source port number
- */
- static constexpr const char *kSourcePort = "source.port";
- /**
- * The device identifier
- */
- static constexpr const char *kSystemDevice = "system.device";
- /**
- * The logical CPU number [0..n-1]
- */
- static constexpr const char *kSystemCpuLogicalNumber = "system.cpu.logical_number";
- /**
- * The memory state
- */
- static constexpr const char *kSystemMemoryState = "system.memory.state";
- /**
- * The paging access direction
- */
- static constexpr const char *kSystemPagingDirection = "system.paging.direction";
- /**
- * The memory paging state
- */
- static constexpr const char *kSystemPagingState = "system.paging.state";
- /**
- * The memory paging type
- */
- static constexpr const char *kSystemPagingType = "system.paging.type";
- /**
- * The filesystem mode
- */
- static constexpr const char *kSystemFilesystemMode = "system.filesystem.mode";
- /**
- * The filesystem mount path
- */
- static constexpr const char *kSystemFilesystemMountpoint = "system.filesystem.mountpoint";
- /**
- * The filesystem state
- */
- static constexpr const char *kSystemFilesystemState = "system.filesystem.state";
- /**
- * The filesystem type
- */
- static constexpr const char *kSystemFilesystemType = "system.filesystem.type";
- /**
- * A stateless protocol MUST NOT set this attribute
- */
- static constexpr const char *kSystemNetworkState = "system.network.state";
- /**
- * The process state, e.g., <a
- * href="https://man7.org/linux/man-pages/man1/ps.1.html#PROCESS_STATE_CODES">Linux Process State
- * Codes</a>
- */
- static constexpr const char *kSystemProcessStatus = "system.process.status";
- /**
- * The language of the telemetry SDK.
- */
- static constexpr const char *kTelemetrySdkLanguage = "telemetry.sdk.language";
- /**
- * The name of the telemetry SDK as defined above.
- *
- * <p>Notes:
- <ul> <li>The OpenTelemetry SDK MUST set the {@code telemetry.sdk.name} attribute to {@code
- opentelemetry}. If another SDK, like a fork or a vendor-provided implementation, is used, this SDK
- MUST set the
- {@code telemetry.sdk.name} attribute to the fully-qualified class or module name of this SDK's main
- entry point or another suitable identifier depending on the language. The identifier {@code
- opentelemetry} is reserved and MUST NOT be used in this case. All custom identifiers SHOULD be
- stable across different versions of an implementation.</li> </ul>
- */
- static constexpr const char *kTelemetrySdkName = "telemetry.sdk.name";
- /**
- * The version string of the telemetry SDK.
- */
- static constexpr const char *kTelemetrySdkVersion = "telemetry.sdk.version";
- /**
- * The name of the auto instrumentation agent or distribution, if used.
- *
- * <p>Notes:
- <ul> <li>Official auto instrumentation agents and distributions SHOULD set the {@code
- telemetry.distro.name} attribute to a string starting with {@code opentelemetry-}, e.g. {@code
- opentelemetry-java-instrumentation}.</li> </ul>
- */
- static constexpr const char *kTelemetryDistroName = "telemetry.distro.name";
- /**
- * The version string of the auto instrumentation agent or distribution, if used.
- */
- static constexpr const char *kTelemetryDistroVersion = "telemetry.distro.version";
- /**
- * The fully qualified human readable name of the <a
- * href="https://en.wikipedia.org/wiki/Test_case">test case</a>.
- */
- static constexpr const char *kTestCaseName = "test.case.name";
- /**
- * The status of the actual test case result from test execution.
- */
- static constexpr const char *kTestCaseResultStatus = "test.case.result.status";
- /**
- * The human readable name of a <a href="https://en.wikipedia.org/wiki/Test_suite">test suite</a>.
- */
- static constexpr const char *kTestSuiteName = "test.suite.name";
- /**
- * The status of the test suite run.
- */
- static constexpr const char *kTestSuiteRunStatus = "test.suite.run.status";
- /**
- * Current "managed" thread ID (as opposed to OS thread ID).
- */
- static constexpr const char *kThreadId = "thread.id";
- /**
- * Current thread name.
- */
- static constexpr const char *kThreadName = "thread.name";
- /**
- * String indicating the <a
- href="https://datatracker.ietf.org/doc/html/rfc5246#appendix-A.5">cipher</a> used during the
- current connection.
- *
- * <p>Notes:
- <ul> <li>The values allowed for {@code tls.cipher} MUST be one of the {@code Descriptions} of the
- <a
- href="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#table-tls-parameters-4">registered
- TLS Cipher Suits</a>.</li> </ul>
- */
- static constexpr const char *kTlsCipher = "tls.cipher";
- /**
- * PEM-encoded stand-alone certificate offered by the client. This is usually mutually-exclusive of
- * {@code client.certificate_chain} since this value also exists in that list.
- */
- static constexpr const char *kTlsClientCertificate = "tls.client.certificate";
- /**
- * Array of PEM-encoded certificates that make up the certificate chain offered by the client. This
- * is usually mutually-exclusive of {@code client.certificate} since that value should be the first
- * certificate in the chain.
- */
- static constexpr const char *kTlsClientCertificateChain = "tls.client.certificate_chain";
- /**
- * Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the
- * client. For consistency with other hash values, this value should be formatted as an uppercase
- * hash.
- */
- static constexpr const char *kTlsClientHashMd5 = "tls.client.hash.md5";
- /**
- * Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by
- * the client. For consistency with other hash values, this value should be formatted as an
- * uppercase hash.
- */
- static constexpr const char *kTlsClientHashSha1 = "tls.client.hash.sha1";
- /**
- * Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by
- * the client. For consistency with other hash values, this value should be formatted as an
- * uppercase hash.
- */
- static constexpr const char *kTlsClientHashSha256 = "tls.client.hash.sha256";
- /**
- * Distinguished name of <a
- * href="https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6">subject</a> of the issuer of
- * the x.509 certificate presented by the client.
- */
- static constexpr const char *kTlsClientIssuer = "tls.client.issuer";
- /**
- * A hash that identifies clients based on how they perform an SSL/TLS handshake.
- */
- static constexpr const char *kTlsClientJa3 = "tls.client.ja3";
- /**
- * Date/Time indicating when client certificate is no longer considered valid.
- */
- static constexpr const char *kTlsClientNotAfter = "tls.client.not_after";
- /**
- * Date/Time indicating when client certificate is first considered valid.
- */
- static constexpr const char *kTlsClientNotBefore = "tls.client.not_before";
- /**
- * Distinguished name of subject of the x.509 certificate presented by the client.
- */
- static constexpr const char *kTlsClientSubject = "tls.client.subject";
- /**
- * Array of ciphers offered by the client during the client hello.
- */
- static constexpr const char *kTlsClientSupportedCiphers = "tls.client.supported_ciphers";
- /**
- * String indicating the curve used for the given cipher, when applicable
- */
- static constexpr const char *kTlsCurve = "tls.curve";
- /**
- * Boolean flag indicating if the TLS negotiation was successful and transitioned to an encrypted
- * tunnel.
- */
- static constexpr const char *kTlsEstablished = "tls.established";
- /**
- * String indicating the protocol being tunneled. Per the values in the <a
- * href="https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids">IANA
- * registry</a>, this string should be lower case.
- */
- static constexpr const char *kTlsNextProtocol = "tls.next_protocol";
- /**
- * Normalized lowercase protocol name parsed from original string of the negotiated <a
- * href="https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES">SSL/TLS
- * protocol version</a>
- */
- static constexpr const char *kTlsProtocolName = "tls.protocol.name";
- /**
- * Numeric part of the version parsed from the original string of the negotiated <a
- * href="https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES">SSL/TLS
- * protocol version</a>
- */
- static constexpr const char *kTlsProtocolVersion = "tls.protocol.version";
- /**
- * Boolean flag indicating if this TLS connection was resumed from an existing TLS negotiation.
- */
- static constexpr const char *kTlsResumed = "tls.resumed";
- /**
- * PEM-encoded stand-alone certificate offered by the server. This is usually mutually-exclusive of
- * {@code server.certificate_chain} since this value also exists in that list.
- */
- static constexpr const char *kTlsServerCertificate = "tls.server.certificate";
- /**
- * Array of PEM-encoded certificates that make up the certificate chain offered by the server. This
- * is usually mutually-exclusive of {@code server.certificate} since that value should be the first
- * certificate in the chain.
- */
- static constexpr const char *kTlsServerCertificateChain = "tls.server.certificate_chain";
- /**
- * Certificate fingerprint using the MD5 digest of DER-encoded version of certificate offered by the
- * server. For consistency with other hash values, this value should be formatted as an uppercase
- * hash.
- */
- static constexpr const char *kTlsServerHashMd5 = "tls.server.hash.md5";
- /**
- * Certificate fingerprint using the SHA1 digest of DER-encoded version of certificate offered by
- * the server. For consistency with other hash values, this value should be formatted as an
- * uppercase hash.
- */
- static constexpr const char *kTlsServerHashSha1 = "tls.server.hash.sha1";
- /**
- * Certificate fingerprint using the SHA256 digest of DER-encoded version of certificate offered by
- * the server. For consistency with other hash values, this value should be formatted as an
- * uppercase hash.
- */
- static constexpr const char *kTlsServerHashSha256 = "tls.server.hash.sha256";
- /**
- * Distinguished name of <a
- * href="https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.6">subject</a> of the issuer of
- * the x.509 certificate presented by the client.
- */
- static constexpr const char *kTlsServerIssuer = "tls.server.issuer";
- /**
- * A hash that identifies servers based on how they perform an SSL/TLS handshake.
- */
- static constexpr const char *kTlsServerJa3s = "tls.server.ja3s";
- /**
- * Date/Time indicating when server certificate is no longer considered valid.
- */
- static constexpr const char *kTlsServerNotAfter = "tls.server.not_after";
- /**
- * Date/Time indicating when server certificate is first considered valid.
- */
- static constexpr const char *kTlsServerNotBefore = "tls.server.not_before";
- /**
- * Distinguished name of subject of the x.509 certificate presented by the server.
- */
- static constexpr const char *kTlsServerSubject = "tls.server.subject";
- /**
- * Domain extracted from the {@code url.full}, such as "opentelemetry.io".
- *
- * <p>Notes:
- <ul> <li>In some cases a URL may refer to an IP and/or port directly, without a domain name. In
- this case, the IP address would go to the domain field. If the URL contains a <a
- href="https://www.rfc-editor.org/rfc/rfc2732#section-2">literal IPv6 address</a> enclosed by {@code
- [} and {@code ]}, the {@code [} and {@code ]} characters should also be captured in the domain
- field.</li> </ul>
- */
- static constexpr const char *kUrlDomain = "url.domain";
- /**
- * The file extension extracted from the {@code url.full}, excluding the leading dot.
- *
- * <p>Notes:
- <ul> <li>The file extension is only set if it exists, as not every url has a file extension. When
- the file name has multiple extensions {@code example.tar.gz}, only the last one should be captured
- {@code gz}, not {@code tar.gz}.</li> </ul>
- */
- static constexpr const char *kUrlExtension = "url.extension";
- /**
- * The <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.5">URI fragment</a> component
- */
- static constexpr const char *kUrlFragment = "url.fragment";
- /**
- * Absolute URL describing a network resource according to <a
- href="https://www.rfc-editor.org/rfc/rfc3986">RFC3986</a>
- *
- * <p>Notes:
- <ul> <li>For network calls, URL usually has {@code scheme://host[:port][path][?query][#fragment]}
- format, where the fragment is not transmitted over HTTP, but if it is known, it SHOULD be included
- nevertheless.
- {@code url.full} MUST NOT contain credentials passed via URL in form of {@code
- https://username:[email protected]/}. In such case username and password SHOULD be redacted
- and attribute's value SHOULD be {@code https://REDACTED:[email protected]/}.
- {@code url.full} SHOULD capture the absolute URL when it is available (or can be reconstructed).
- Sensitive content provided in {@code url.full} SHOULD be scrubbed when instrumentations can identify
- it.</li> </ul>
- */
- static constexpr const char *kUrlFull = "url.full";
- /**
- * Unmodified original URL as seen in the event source.
- *
- * <p>Notes:
- <ul> <li>In network monitoring, the observed URL may be a full URL, whereas in access logs, the
- URL is often just represented as a path. This field is meant to represent the URL as it was
- observed, complete or not.
- {@code url.original} might contain credentials passed via URL in form of {@code
- https://username:[email protected]/}. In such case password and username SHOULD NOT be
- redacted and attribute's value SHOULD remain the same.</li> </ul>
- */
- static constexpr const char *kUrlOriginal = "url.original";
- /**
- * The <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.3">URI path</a> component
- *
- * <p>Notes:
- <ul> <li>Sensitive content provided in {@code url.path} SHOULD be scrubbed when instrumentations
- can identify it.</li> </ul>
- */
- static constexpr const char *kUrlPath = "url.path";
- /**
- * Port extracted from the {@code url.full}
- */
- static constexpr const char *kUrlPort = "url.port";
- /**
- * The <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.4">URI query</a> component
- *
- * <p>Notes:
- <ul> <li>Sensitive content provided in {@code url.query} SHOULD be scrubbed when instrumentations
- can identify it.</li> </ul>
- */
- static constexpr const char *kUrlQuery = "url.query";
- /**
- * The highest registered url domain, stripped of the subdomain.
- *
- * <p>Notes:
- <ul> <li>This value can be determined precisely with the <a href="http://publicsuffix.org">public
- suffix list</a>. For example, the registered domain for {@code foo.example.com} is {@code
- example.com}. Trying to approximate this by simply taking the last two labels will not work well
- for TLDs such as {@code co.uk}.</li> </ul>
- */
- static constexpr const char *kUrlRegisteredDomain = "url.registered_domain";
- /**
- * The <a href="https://www.rfc-editor.org/rfc/rfc3986#section-3.1">URI scheme</a> component
- * identifying the used protocol.
- */
- static constexpr const char *kUrlScheme = "url.scheme";
- /**
- * The subdomain portion of a fully qualified domain name includes all of the names except the host
- name under the registered_domain. In a partially qualified domain, or if the qualification level of
- the full name cannot be determined, subdomain contains all of the names below the registered
- domain.
- *
- * <p>Notes:
- <ul> <li>The subdomain portion of {@code www.east.mydomain.co.uk} is {@code east}. If the domain
- has multiple levels of subdomain, such as {@code sub2.sub1.example.com}, the subdomain field should
- contain {@code sub2.sub1}, with no trailing period.</li> </ul>
- */
- static constexpr const char *kUrlSubdomain = "url.subdomain";
- /**
- * The low-cardinality template of an <a
- * href="https://www.rfc-editor.org/rfc/rfc3986#section-4.2">absolute path reference</a>.
- */
- static constexpr const char *kUrlTemplate = "url.template";
- /**
- * The effective top level domain (eTLD), also known as the domain suffix, is the last part of the
- domain name. For example, the top level domain for example.com is {@code com}.
- *
- * <p>Notes:
- <ul> <li>This value can be determined precisely with the <a href="http://publicsuffix.org">public
- suffix list</a>.</li> </ul>
- */
- static constexpr const char *kUrlTopLevelDomain = "url.top_level_domain";
- /**
- * Name of the user-agent extracted from original. Usually refers to the browser's name.
- *
- * <p>Notes:
- <ul> <li><a href="https://www.whatsmyua.info">Example</a> of extracting browser's name from
- original string. In the case of using a user-agent for non-browser products, such as microservices
- with multiple names/versions inside the {@code user_agent.original}, the most significant name
- SHOULD be selected. In such a scenario it should align with {@code user_agent.version}</li> </ul>
- */
- static constexpr const char *kUserAgentName = "user_agent.name";
- /**
- * Value of the <a href="https://www.rfc-editor.org/rfc/rfc9110.html#field.user-agent">HTTP
- * User-Agent</a> header sent by the client.
- */
- static constexpr const char *kUserAgentOriginal = "user_agent.original";
- /**
- * Version of the user-agent extracted from original. Usually refers to the browser's version
- *
- * <p>Notes:
- <ul> <li><a href="https://www.whatsmyua.info">Example</a> of extracting browser's version from
- original string. In the case of using a user-agent for non-browser products, such as microservices
- with multiple names/versions inside the {@code user_agent.original}, the most significant version
- SHOULD be selected. In such a scenario it should align with {@code user_agent.name}</li> </ul>
- */
- static constexpr const char *kUserAgentVersion = "user_agent.version";
- /**
- * User email address.
- */
- static constexpr const char *kUserEmail = "user.email";
- /**
- * User's full name
- */
- static constexpr const char *kUserFullName = "user.full_name";
- /**
- * Unique user hash to correlate information for a user in anonymized form.
- *
- * <p>Notes:
- <ul> <li>Useful if {@code user.id} or {@code user.name} contain confidential information and
- cannot be used.</li> </ul>
- */
- static constexpr const char *kUserHash = "user.hash";
- /**
- * Unique identifier of the user.
- */
- static constexpr const char *kUserId = "user.id";
- /**
- * Short name or login/username of the user.
- */
- static constexpr const char *kUserName = "user.name";
- /**
- * Array of user roles at the time of the event.
- */
- static constexpr const char *kUserRoles = "user.roles";
- /**
- * The type of garbage collection.
- */
- static constexpr const char *kV8jsGcType = "v8js.gc.type";
- /**
- * The name of the space type of heap memory.
- *
- * <p>Notes:
- <ul> <li>Value can be retrieved from value {@code space_name} of <a
- href="https://nodejs.org/api/v8.html#v8getheapspacestatistics">{@code
- v8.getHeapSpaceStatistics()}</a></li> </ul>
- */
- static constexpr const char *kV8jsHeapSpaceName = "v8js.heap.space.name";
- /**
- * The ID of the change (pull request/merge request) if applicable. This is usually a unique (within
- * repository) identifier generated by the VCS system.
- */
- static constexpr const char *kVcsRepositoryChangeId = "vcs.repository.change.id";
- /**
- * The human readable title of the change (pull request/merge request). This title is often a brief
- * summary of the change and may get merged in to a ref as the commit summary.
- */
- static constexpr const char *kVcsRepositoryChangeTitle = "vcs.repository.change.title";
- /**
- * The name of the <a href="https://git-scm.com/docs/gitglossary#def_ref">reference</a> such as
- * <strong>branch</strong> or <strong>tag</strong> in the repository.
- */
- static constexpr const char *kVcsRepositoryRefName = "vcs.repository.ref.name";
- /**
- * The revision, literally <a href="https://www.merriam-webster.com/dictionary/revision">revised
- version</a>, The revision most often refers to a commit object in Git, or a revision number in SVN.
- *
- * <p>Notes:
- <ul> <li>The revision can be a full <a
- href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf">hash value (see glossary)</a>, of
- the recorded change to a ref within a repository pointing to a commit <a
- href="https://git-scm.com/docs/git-commit">commit</a> object. It does not necessarily have to be a
- hash; it can simply define a <a
- href="https://svnbook.red-bean.com/en/1.7/svn.tour.revs.specifiers.html">revision number</a> which
- is an integer that is monotonically increasing. In cases where it is identical to the {@code
- ref.name}, it SHOULD still be included. It is up to the implementer to decide which value to set as
- the revision based on the VCS system and situational context.</li> </ul>
- */
- static constexpr const char *kVcsRepositoryRefRevision = "vcs.repository.ref.revision";
- /**
- * The type of the <a href="https://git-scm.com/docs/gitglossary#def_ref">reference</a> in the
- * repository.
- */
- static constexpr const char *kVcsRepositoryRefType = "vcs.repository.ref.type";
- /**
- * The <a href="https://en.wikipedia.org/wiki/URL">URL</a> of the repository providing the complete
- * address in order to locate and identify the repository.
- */
- static constexpr const char *kVcsRepositoryUrlFull = "vcs.repository.url.full";
- /**
- * Additional description of the web engine (e.g. detailed version and edition information).
- */
- static constexpr const char *kWebengineDescription = "webengine.description";
- /**
- * The name of the web engine.
- */
- static constexpr const char *kWebengineName = "webengine.name";
- /**
- * The version of the web engine.
- */
- static constexpr const char *kWebengineVersion = "webengine.version";
- // Enum definitions
- namespace AspnetcoreRateLimitingResultValues
- {
- /** Lease was acquired. */
- static constexpr const char *kAcquired = "acquired";
- /** Lease request was rejected by the endpoint limiter. */
- static constexpr const char *kEndpointLimiter = "endpoint_limiter";
- /** Lease request was rejected by the global limiter. */
- static constexpr const char *kGlobalLimiter = "global_limiter";
- /** Lease request was canceled. */
- static constexpr const char *kRequestCanceled = "request_canceled";
- } // namespace AspnetcoreRateLimitingResultValues
- namespace AspnetcoreDiagnosticsExceptionResultValues
- {
- /** Exception was handled by the exception handling middleware. */
- static constexpr const char *kHandled = "handled";
- /** Exception was not handled by the exception handling middleware. */
- static constexpr const char *kUnhandled = "unhandled";
- /** Exception handling was skipped because the response had started. */
- static constexpr const char *kSkipped = "skipped";
- /** Exception handling didn't run because the request was aborted. */
- static constexpr const char *kAborted = "aborted";
- } // namespace AspnetcoreDiagnosticsExceptionResultValues
- namespace AspnetcoreRoutingMatchStatusValues
- {
- /** Match succeeded. */
- static constexpr const char *kSuccess = "success";
- /** Match failed. */
- static constexpr const char *kFailure = "failure";
- } // namespace AspnetcoreRoutingMatchStatusValues
- namespace AwsEcsLaunchtypeValues
- {
- /** ec2. */
- static constexpr const char *kEc2 = "ec2";
- /** fargate. */
- static constexpr const char *kFargate = "fargate";
- } // namespace AwsEcsLaunchtypeValues
- namespace CicdPipelineTaskTypeValues
- {
- /** build. */
- static constexpr const char *kBuild = "build";
- /** test. */
- static constexpr const char *kTest = "test";
- /** deploy. */
- static constexpr const char *kDeploy = "deploy";
- } // namespace CicdPipelineTaskTypeValues
- namespace CloudPlatformValues
- {
- /** Alibaba Cloud Elastic Compute Service. */
- static constexpr const char *kAlibabaCloudEcs = "alibaba_cloud_ecs";
- /** Alibaba Cloud Function Compute. */
- static constexpr const char *kAlibabaCloudFc = "alibaba_cloud_fc";
- /** Red Hat OpenShift on Alibaba Cloud. */
- static constexpr const char *kAlibabaCloudOpenshift = "alibaba_cloud_openshift";
- /** AWS Elastic Compute Cloud. */
- static constexpr const char *kAwsEc2 = "aws_ec2";
- /** AWS Elastic Container Service. */
- static constexpr const char *kAwsEcs = "aws_ecs";
- /** AWS Elastic Kubernetes Service. */
- static constexpr const char *kAwsEks = "aws_eks";
- /** AWS Lambda. */
- static constexpr const char *kAwsLambda = "aws_lambda";
- /** AWS Elastic Beanstalk. */
- static constexpr const char *kAwsElasticBeanstalk = "aws_elastic_beanstalk";
- /** AWS App Runner. */
- static constexpr const char *kAwsAppRunner = "aws_app_runner";
- /** Red Hat OpenShift on AWS (ROSA). */
- static constexpr const char *kAwsOpenshift = "aws_openshift";
- /** Azure Virtual Machines. */
- static constexpr const char *kAzureVm = "azure_vm";
- /** Azure Container Apps. */
- static constexpr const char *kAzureContainerApps = "azure_container_apps";
- /** Azure Container Instances. */
- static constexpr const char *kAzureContainerInstances = "azure_container_instances";
- /** Azure Kubernetes Service. */
- static constexpr const char *kAzureAks = "azure_aks";
- /** Azure Functions. */
- static constexpr const char *kAzureFunctions = "azure_functions";
- /** Azure App Service. */
- static constexpr const char *kAzureAppService = "azure_app_service";
- /** Azure Red Hat OpenShift. */
- static constexpr const char *kAzureOpenshift = "azure_openshift";
- /** Google Bare Metal Solution (BMS). */
- static constexpr const char *kGcpBareMetalSolution = "gcp_bare_metal_solution";
- /** Google Cloud Compute Engine (GCE). */
- static constexpr const char *kGcpComputeEngine = "gcp_compute_engine";
- /** Google Cloud Run. */
- static constexpr const char *kGcpCloudRun = "gcp_cloud_run";
- /** Google Cloud Kubernetes Engine (GKE). */
- static constexpr const char *kGcpKubernetesEngine = "gcp_kubernetes_engine";
- /** Google Cloud Functions (GCF). */
- static constexpr const char *kGcpCloudFunctions = "gcp_cloud_functions";
- /** Google Cloud App Engine (GAE). */
- static constexpr const char *kGcpAppEngine = "gcp_app_engine";
- /** Red Hat OpenShift on Google Cloud. */
- static constexpr const char *kGcpOpenshift = "gcp_openshift";
- /** Red Hat OpenShift on IBM Cloud. */
- static constexpr const char *kIbmCloudOpenshift = "ibm_cloud_openshift";
- /** Tencent Cloud Cloud Virtual Machine (CVM). */
- static constexpr const char *kTencentCloudCvm = "tencent_cloud_cvm";
- /** Tencent Cloud Elastic Kubernetes Service (EKS). */
- static constexpr const char *kTencentCloudEks = "tencent_cloud_eks";
- /** Tencent Cloud Serverless Cloud Function (SCF). */
- static constexpr const char *kTencentCloudScf = "tencent_cloud_scf";
- } // namespace CloudPlatformValues
- namespace CloudProviderValues
- {
- /** Alibaba Cloud. */
- static constexpr const char *kAlibabaCloud = "alibaba_cloud";
- /** Amazon Web Services. */
- static constexpr const char *kAws = "aws";
- /** Microsoft Azure. */
- static constexpr const char *kAzure = "azure";
- /** Google Cloud Platform. */
- static constexpr const char *kGcp = "gcp";
- /** Heroku Platform as a Service. */
- static constexpr const char *kHeroku = "heroku";
- /** IBM Cloud. */
- static constexpr const char *kIbmCloud = "ibm_cloud";
- /** Tencent Cloud. */
- static constexpr const char *kTencentCloud = "tencent_cloud";
- } // namespace CloudProviderValues
- namespace CpuModeValues
- {
- /** user. */
- static constexpr const char *kUser = "user";
- /** system. */
- static constexpr const char *kSystem = "system";
- /** nice. */
- static constexpr const char *kNice = "nice";
- /** idle. */
- static constexpr const char *kIdle = "idle";
- /** iowait. */
- static constexpr const char *kIowait = "iowait";
- /** interrupt. */
- static constexpr const char *kInterrupt = "interrupt";
- /** steal. */
- static constexpr const char *kSteal = "steal";
- /** kernel. */
- static constexpr const char *kKernel = "kernel";
- } // namespace CpuModeValues
- namespace DbClientConnectionStateValues
- {
- /** idle. */
- static constexpr const char *kIdle = "idle";
- /** used. */
- static constexpr const char *kUsed = "used";
- } // namespace DbClientConnectionStateValues
- namespace DbSystemValues
- {
- /** Some other SQL database. Fallback only. See notes. */
- static constexpr const char *kOtherSql = "other_sql";
- /** Adabas (Adaptable Database System). */
- static constexpr const char *kAdabas = "adabas";
- /** Deprecated, use `intersystems_cache` instead. */
- static constexpr const char *kCache = "cache";
- /** InterSystems Caché. */
- static constexpr const char *kIntersystemsCache = "intersystems_cache";
- /** Apache Cassandra. */
- static constexpr const char *kCassandra = "cassandra";
- /** ClickHouse. */
- static constexpr const char *kClickhouse = "clickhouse";
- /** Deprecated, use `other_sql` instead. */
- static constexpr const char *kCloudscape = "cloudscape";
- /** CockroachDB. */
- static constexpr const char *kCockroachdb = "cockroachdb";
- /** Deprecated, no replacement at this time. */
- static constexpr const char *kColdfusion = "coldfusion";
- /** Microsoft Azure Cosmos DB. */
- static constexpr const char *kCosmosdb = "cosmosdb";
- /** Couchbase. */
- static constexpr const char *kCouchbase = "couchbase";
- /** CouchDB. */
- static constexpr const char *kCouchdb = "couchdb";
- /** IBM Db2. */
- static constexpr const char *kDb2 = "db2";
- /** Apache Derby. */
- static constexpr const char *kDerby = "derby";
- /** Amazon DynamoDB. */
- static constexpr const char *kDynamodb = "dynamodb";
- /** EnterpriseDB. */
- static constexpr const char *kEdb = "edb";
- /** Elasticsearch. */
- static constexpr const char *kElasticsearch = "elasticsearch";
- /** FileMaker. */
- static constexpr const char *kFilemaker = "filemaker";
- /** Firebird. */
- static constexpr const char *kFirebird = "firebird";
- /** Deprecated, use `other_sql` instead. */
- static constexpr const char *kFirstsql = "firstsql";
- /** Apache Geode. */
- static constexpr const char *kGeode = "geode";
- /** H2. */
- static constexpr const char *kH2 = "h2";
- /** SAP HANA. */
- static constexpr const char *kHanadb = "hanadb";
- /** Apache HBase. */
- static constexpr const char *kHbase = "hbase";
- /** Apache Hive. */
- static constexpr const char *kHive = "hive";
- /** HyperSQL DataBase. */
- static constexpr const char *kHsqldb = "hsqldb";
- /** InfluxDB. */
- static constexpr const char *kInfluxdb = "influxdb";
- /** Informix. */
- static constexpr const char *kInformix = "informix";
- /** Ingres. */
- static constexpr const char *kIngres = "ingres";
- /** InstantDB. */
- static constexpr const char *kInstantdb = "instantdb";
- /** InterBase. */
- static constexpr const char *kInterbase = "interbase";
- /** MariaDB. */
- static constexpr const char *kMariadb = "mariadb";
- /** SAP MaxDB. */
- static constexpr const char *kMaxdb = "maxdb";
- /** Memcached. */
- static constexpr const char *kMemcached = "memcached";
- /** MongoDB. */
- static constexpr const char *kMongodb = "mongodb";
- /** Microsoft SQL Server. */
- static constexpr const char *kMssql = "mssql";
- /** Deprecated, Microsoft SQL Server Compact is discontinued. */
- static constexpr const char *kMssqlcompact = "mssqlcompact";
- /** MySQL. */
- static constexpr const char *kMysql = "mysql";
- /** Neo4j. */
- static constexpr const char *kNeo4j = "neo4j";
- /** Netezza. */
- static constexpr const char *kNetezza = "netezza";
- /** OpenSearch. */
- static constexpr const char *kOpensearch = "opensearch";
- /** Oracle Database. */
- static constexpr const char *kOracle = "oracle";
- /** Pervasive PSQL. */
- static constexpr const char *kPervasive = "pervasive";
- /** PointBase. */
- static constexpr const char *kPointbase = "pointbase";
- /** PostgreSQL. */
- static constexpr const char *kPostgresql = "postgresql";
- /** Progress Database. */
- static constexpr const char *kProgress = "progress";
- /** Redis. */
- static constexpr const char *kRedis = "redis";
- /** Amazon Redshift. */
- static constexpr const char *kRedshift = "redshift";
- /** Cloud Spanner. */
- static constexpr const char *kSpanner = "spanner";
- /** SQLite. */
- static constexpr const char *kSqlite = "sqlite";
- /** Sybase. */
- static constexpr const char *kSybase = "sybase";
- /** Teradata. */
- static constexpr const char *kTeradata = "teradata";
- /** Trino. */
- static constexpr const char *kTrino = "trino";
- /** Vertica. */
- static constexpr const char *kVertica = "vertica";
- } // namespace DbSystemValues
- namespace DbCassandraConsistencyLevelValues
- {
- /** all. */
- static constexpr const char *kAll = "all";
- /** each_quorum. */
- static constexpr const char *kEachQuorum = "each_quorum";
- /** quorum. */
- static constexpr const char *kQuorum = "quorum";
- /** local_quorum. */
- static constexpr const char *kLocalQuorum = "local_quorum";
- /** one. */
- static constexpr const char *kOne = "one";
- /** two. */
- static constexpr const char *kTwo = "two";
- /** three. */
- static constexpr const char *kThree = "three";
- /** local_one. */
- static constexpr const char *kLocalOne = "local_one";
- /** any. */
- static constexpr const char *kAny = "any";
- /** serial. */
- static constexpr const char *kSerial = "serial";
- /** local_serial. */
- static constexpr const char *kLocalSerial = "local_serial";
- } // namespace DbCassandraConsistencyLevelValues
- namespace DbCosmosdbConnectionModeValues
- {
- /** Gateway (HTTP) connections mode. */
- static constexpr const char *kGateway = "gateway";
- /** Direct connection. */
- static constexpr const char *kDirect = "direct";
- } // namespace DbCosmosdbConnectionModeValues
- namespace DbCosmosdbOperationTypeValues
- {
- /** invalid. */
- static constexpr const char *kInvalid = "Invalid";
- /** create. */
- static constexpr const char *kCreate = "Create";
- /** patch. */
- static constexpr const char *kPatch = "Patch";
- /** read. */
- static constexpr const char *kRead = "Read";
- /** read_feed. */
- static constexpr const char *kReadFeed = "ReadFeed";
- /** delete. */
- static constexpr const char *kDelete = "Delete";
- /** replace. */
- static constexpr const char *kReplace = "Replace";
- /** execute. */
- static constexpr const char *kExecute = "Execute";
- /** query. */
- static constexpr const char *kQuery = "Query";
- /** head. */
- static constexpr const char *kHead = "Head";
- /** head_feed. */
- static constexpr const char *kHeadFeed = "HeadFeed";
- /** upsert. */
- static constexpr const char *kUpsert = "Upsert";
- /** batch. */
- static constexpr const char *kBatch = "Batch";
- /** query_plan. */
- static constexpr const char *kQueryPlan = "QueryPlan";
- /** execute_javascript. */
- static constexpr const char *kExecuteJavascript = "ExecuteJavaScript";
- } // namespace DbCosmosdbOperationTypeValues
- namespace DeploymentStatusValues
- {
- /** failed. */
- static constexpr const char *kFailed = "failed";
- /** succeeded. */
- static constexpr const char *kSucceeded = "succeeded";
- } // namespace DeploymentStatusValues
- namespace AndroidStateValues
- {
- /** Any time before Activity.onResume() or, if the app has no Activity, Context.startService() has
- * been called in the app for the first time. */
- static constexpr const char *kCreated = "created";
- /** Any time after Activity.onPause() or, if the app has no Activity, Context.stopService() has been
- * called when the app was in the foreground state. */
- static constexpr const char *kBackground = "background";
- /** Any time after Activity.onResume() or, if the app has no Activity, Context.startService() has
- * been called when the app was in either the created or background states. */
- static constexpr const char *kForeground = "foreground";
- } // namespace AndroidStateValues
- namespace ContainerCpuStateValues
- {
- /** When tasks of the cgroup are in user mode (Linux). When all container processes are in user mode
- * (Windows). */
- static constexpr const char *kUser = "user";
- /** When CPU is used by the system (host OS). */
- static constexpr const char *kSystem = "system";
- /** When tasks of the cgroup are in kernel mode (Linux). When all container processes are in kernel
- * mode (Windows). */
- static constexpr const char *kKernel = "kernel";
- } // namespace ContainerCpuStateValues
- namespace DbClientConnectionsStateValues
- {
- /** idle. */
- static constexpr const char *kIdle = "idle";
- /** used. */
- static constexpr const char *kUsed = "used";
- } // namespace DbClientConnectionsStateValues
- namespace StateValues
- {
- /** idle. */
- static constexpr const char *kIdle = "idle";
- /** used. */
- static constexpr const char *kUsed = "used";
- } // namespace StateValues
- namespace HttpFlavorValues
- {
- /** HTTP/1.0. */
- static constexpr const char *kHttp10 = "1.0";
- /** HTTP/1.1. */
- static constexpr const char *kHttp11 = "1.1";
- /** HTTP/2. */
- static constexpr const char *kHttp20 = "2.0";
- /** HTTP/3. */
- static constexpr const char *kHttp30 = "3.0";
- /** SPDY protocol. */
- static constexpr const char *kSpdy = "SPDY";
- /** QUIC protocol. */
- static constexpr const char *kQuic = "QUIC";
- } // namespace HttpFlavorValues
- namespace IosStateValues
- {
- /** The app has become `active`. Associated with UIKit notification `applicationDidBecomeActive`. */
- static constexpr const char *kActive = "active";
- /** The app is now `inactive`. Associated with UIKit notification `applicationWillResignActive`. */
- static constexpr const char *kInactive = "inactive";
- /** The app is now in the background. This value is associated with UIKit notification
- * `applicationDidEnterBackground`. */
- static constexpr const char *kBackground = "background";
- /** The app is now in the foreground. This value is associated with UIKit notification
- * `applicationWillEnterForeground`. */
- static constexpr const char *kForeground = "foreground";
- /** The app is about to terminate. Associated with UIKit notification `applicationWillTerminate`. */
- static constexpr const char *kTerminate = "terminate";
- } // namespace IosStateValues
- namespace NetSockFamilyValues
- {
- /** IPv4 address. */
- static constexpr const char *kInet = "inet";
- /** IPv6 address. */
- static constexpr const char *kInet6 = "inet6";
- /** Unix domain socket path. */
- static constexpr const char *kUnix = "unix";
- } // namespace NetSockFamilyValues
- namespace NetTransportValues
- {
- /** ip_tcp. */
- static constexpr const char *kIpTcp = "ip_tcp";
- /** ip_udp. */
- static constexpr const char *kIpUdp = "ip_udp";
- /** Named or anonymous pipe. */
- static constexpr const char *kPipe = "pipe";
- /** In-process communication. */
- static constexpr const char *kInproc = "inproc";
- /** Something else (non IP-based). */
- static constexpr const char *kOther = "other";
- } // namespace NetTransportValues
- namespace ProcessCpuStateValues
- {
- /** system. */
- static constexpr const char *kSystem = "system";
- /** user. */
- static constexpr const char *kUser = "user";
- /** wait. */
- static constexpr const char *kWait = "wait";
- } // namespace ProcessCpuStateValues
- namespace MessageTypeValues
- {
- /** sent. */
- static constexpr const char *kSent = "SENT";
- /** received. */
- static constexpr const char *kReceived = "RECEIVED";
- } // namespace MessageTypeValues
- namespace SystemCpuStateValues
- {
- /** user. */
- static constexpr const char *kUser = "user";
- /** system. */
- static constexpr const char *kSystem = "system";
- /** nice. */
- static constexpr const char *kNice = "nice";
- /** idle. */
- static constexpr const char *kIdle = "idle";
- /** iowait. */
- static constexpr const char *kIowait = "iowait";
- /** interrupt. */
- static constexpr const char *kInterrupt = "interrupt";
- /** steal. */
- static constexpr const char *kSteal = "steal";
- } // namespace SystemCpuStateValues
- namespace SystemProcessesStatusValues
- {
- /** running. */
- static constexpr const char *kRunning = "running";
- /** sleeping. */
- static constexpr const char *kSleeping = "sleeping";
- /** stopped. */
- static constexpr const char *kStopped = "stopped";
- /** defunct. */
- static constexpr const char *kDefunct = "defunct";
- } // namespace SystemProcessesStatusValues
- namespace DiskIoDirectionValues
- {
- /** read. */
- static constexpr const char *kRead = "read";
- /** write. */
- static constexpr const char *kWrite = "write";
- } // namespace DiskIoDirectionValues
- namespace ErrorTypeValues
- {
- /** A fallback error value to be used when the instrumentation doesn't define a custom value. */
- static constexpr const char *kOther = "_OTHER";
- } // namespace ErrorTypeValues
- namespace FaasDocumentOperationValues
- {
- /** When a new object is created. */
- static constexpr const char *kInsert = "insert";
- /** When an object is modified. */
- static constexpr const char *kEdit = "edit";
- /** When an object is deleted. */
- static constexpr const char *kDelete = "delete";
- } // namespace FaasDocumentOperationValues
- namespace FaasInvokedProviderValues
- {
- /** Alibaba Cloud. */
- static constexpr const char *kAlibabaCloud = "alibaba_cloud";
- /** Amazon Web Services. */
- static constexpr const char *kAws = "aws";
- /** Microsoft Azure. */
- static constexpr const char *kAzure = "azure";
- /** Google Cloud Platform. */
- static constexpr const char *kGcp = "gcp";
- /** Tencent Cloud. */
- static constexpr const char *kTencentCloud = "tencent_cloud";
- } // namespace FaasInvokedProviderValues
- namespace FaasTriggerValues
- {
- /** A response to some data source operation such as a database or filesystem read/write. */
- static constexpr const char *kDatasource = "datasource";
- /** To provide an answer to an inbound HTTP request. */
- static constexpr const char *kHttp = "http";
- /** A function is set to be executed when messages are sent to a messaging system. */
- static constexpr const char *kPubsub = "pubsub";
- /** A function is scheduled to be executed regularly. */
- static constexpr const char *kTimer = "timer";
- /** If none of the others apply. */
- static constexpr const char *kOther = "other";
- } // namespace FaasTriggerValues
- namespace GenAiOperationNameValues
- {
- /** Chat completion operation such as [OpenAI Chat
- * API](https://platform.openai.com/docs/api-reference/chat). */
- static constexpr const char *kChat = "chat";
- /** Text completions operation such as [OpenAI Completions API
- * (Legacy)](https://platform.openai.com/docs/api-reference/completions). */
- static constexpr const char *kTextCompletion = "text_completion";
- } // namespace GenAiOperationNameValues
- namespace GenAiSystemValues
- {
- /** OpenAI. */
- static constexpr const char *kOpenai = "openai";
- /** Vertex AI. */
- static constexpr const char *kVertexAi = "vertex_ai";
- /** Anthropic. */
- static constexpr const char *kAnthropic = "anthropic";
- /** Cohere. */
- static constexpr const char *kCohere = "cohere";
- } // namespace GenAiSystemValues
- namespace GenAiTokenTypeValues
- {
- /** Input tokens (prompt, input, etc.). */
- static constexpr const char *kInput = "input";
- /** Output tokens (completion, response, etc.). */
- static constexpr const char *kCompletion = "output";
- } // namespace GenAiTokenTypeValues
- namespace GoMemoryTypeValues
- {
- /** Memory allocated from the heap that is reserved for stack space, whether or not it is currently
- * in-use. */
- static constexpr const char *kStack = "stack";
- /** Memory used by the Go runtime, excluding other categories of memory usage described in this
- * enumeration. */
- static constexpr const char *kOther = "other";
- } // namespace GoMemoryTypeValues
- namespace GraphqlOperationTypeValues
- {
- /** GraphQL query. */
- static constexpr const char *kQuery = "query";
- /** GraphQL mutation. */
- static constexpr const char *kMutation = "mutation";
- /** GraphQL subscription. */
- static constexpr const char *kSubscription = "subscription";
- } // namespace GraphqlOperationTypeValues
- namespace HostArchValues
- {
- /** AMD64. */
- static constexpr const char *kAmd64 = "amd64";
- /** ARM32. */
- static constexpr const char *kArm32 = "arm32";
- /** ARM64. */
- static constexpr const char *kArm64 = "arm64";
- /** Itanium. */
- static constexpr const char *kIa64 = "ia64";
- /** 32-bit PowerPC. */
- static constexpr const char *kPpc32 = "ppc32";
- /** 64-bit PowerPC. */
- static constexpr const char *kPpc64 = "ppc64";
- /** IBM z/Architecture. */
- static constexpr const char *kS390x = "s390x";
- /** 32-bit x86. */
- static constexpr const char *kX86 = "x86";
- } // namespace HostArchValues
- namespace HttpConnectionStateValues
- {
- /** active state. */
- static constexpr const char *kActive = "active";
- /** idle state. */
- static constexpr const char *kIdle = "idle";
- } // namespace HttpConnectionStateValues
- namespace HttpRequestMethodValues
- {
- /** CONNECT method. */
- static constexpr const char *kConnect = "CONNECT";
- /** DELETE method. */
- static constexpr const char *kDelete = "DELETE";
- /** GET method. */
- static constexpr const char *kGet = "GET";
- /** HEAD method. */
- static constexpr const char *kHead = "HEAD";
- /** OPTIONS method. */
- static constexpr const char *kOptions = "OPTIONS";
- /** PATCH method. */
- static constexpr const char *kPatch = "PATCH";
- /** POST method. */
- static constexpr const char *kPost = "POST";
- /** PUT method. */
- static constexpr const char *kPut = "PUT";
- /** TRACE method. */
- static constexpr const char *kTrace = "TRACE";
- /** Any HTTP method that the instrumentation has no prior knowledge of. */
- static constexpr const char *kOther = "_OTHER";
- } // namespace HttpRequestMethodValues
- namespace JvmMemoryTypeValues
- {
- /** Heap memory. */
- static constexpr const char *kHeap = "heap";
- /** Non-heap memory. */
- static constexpr const char *kNonHeap = "non_heap";
- } // namespace JvmMemoryTypeValues
- namespace JvmThreadStateValues
- {
- /** A thread that has not yet started is in this state. */
- static constexpr const char *kNew = "new";
- /** A thread executing in the Java virtual machine is in this state. */
- static constexpr const char *kRunnable = "runnable";
- /** A thread that is blocked waiting for a monitor lock is in this state. */
- static constexpr const char *kBlocked = "blocked";
- /** A thread that is waiting indefinitely for another thread to perform a particular action is in
- * this state. */
- static constexpr const char *kWaiting = "waiting";
- /** A thread that is waiting for another thread to perform an action for up to a specified waiting
- * time is in this state. */
- static constexpr const char *kTimedWaiting = "timed_waiting";
- /** A thread that has exited is in this state. */
- static constexpr const char *kTerminated = "terminated";
- } // namespace JvmThreadStateValues
- namespace LinuxMemorySlabStateValues
- {
- /** reclaimable. */
- static constexpr const char *kReclaimable = "reclaimable";
- /** unreclaimable. */
- static constexpr const char *kUnreclaimable = "unreclaimable";
- } // namespace LinuxMemorySlabStateValues
- namespace LogIostreamValues
- {
- /** Logs from stdout stream. */
- static constexpr const char *kStdout = "stdout";
- /** Events from stderr stream. */
- static constexpr const char *kStderr = "stderr";
- } // namespace LogIostreamValues
- namespace MessagingOperationTypeValues
- {
- /** One or more messages are provided for publishing to an intermediary. If a single message is
- * published, the context of the "Publish" span can be used as the creation context and no
- * "Create" span needs to be created. */
- static constexpr const char *kPublish = "publish";
- /** A message is created. "Create" spans always refer to a single message and are used to
- * provide a unique creation context for messages in batch publishing scenarios. */
- static constexpr const char *kCreate = "create";
- /** One or more messages are requested by a consumer. This operation refers to pull-based scenarios,
- * where consumers explicitly call methods of messaging SDKs to receive messages. */
- static constexpr const char *kReceive = "receive";
- /** One or more messages are processed by a consumer. */
- static constexpr const char *kProcess = "process";
- /** One or more messages are settled. */
- static constexpr const char *kSettle = "settle";
- /** Deprecated. Use `process` instead. */
- static constexpr const char *kDeliver = "deliver";
- } // namespace MessagingOperationTypeValues
- namespace MessagingSystemValues
- {
- /** Apache ActiveMQ. */
- static constexpr const char *kActivemq = "activemq";
- /** Amazon Simple Queue Service (SQS). */
- static constexpr const char *kAwsSqs = "aws_sqs";
- /** Azure Event Grid. */
- static constexpr const char *kEventgrid = "eventgrid";
- /** Azure Event Hubs. */
- static constexpr const char *kEventhubs = "eventhubs";
- /** Azure Service Bus. */
- static constexpr const char *kServicebus = "servicebus";
- /** Google Cloud Pub/Sub. */
- static constexpr const char *kGcpPubsub = "gcp_pubsub";
- /** Java Message Service. */
- static constexpr const char *kJms = "jms";
- /** Apache Kafka. */
- static constexpr const char *kKafka = "kafka";
- /** RabbitMQ. */
- static constexpr const char *kRabbitmq = "rabbitmq";
- /** Apache RocketMQ. */
- static constexpr const char *kRocketmq = "rocketmq";
- /** Apache Pulsar. */
- static constexpr const char *kPulsar = "pulsar";
- } // namespace MessagingSystemValues
- namespace MessagingRocketmqConsumptionModelValues
- {
- /** Clustering consumption model. */
- static constexpr const char *kClustering = "clustering";
- /** Broadcasting consumption model. */
- static constexpr const char *kBroadcasting = "broadcasting";
- } // namespace MessagingRocketmqConsumptionModelValues
- namespace MessagingRocketmqMessageTypeValues
- {
- /** Normal message. */
- static constexpr const char *kNormal = "normal";
- /** FIFO message. */
- static constexpr const char *kFifo = "fifo";
- /** Delay message. */
- static constexpr const char *kDelay = "delay";
- /** Transaction message. */
- static constexpr const char *kTransaction = "transaction";
- } // namespace MessagingRocketmqMessageTypeValues
- namespace MessagingServicebusDispositionStatusValues
- {
- /** Message is completed. */
- static constexpr const char *kComplete = "complete";
- /** Message is abandoned. */
- static constexpr const char *kAbandon = "abandon";
- /** Message is sent to dead letter queue. */
- static constexpr const char *kDeadLetter = "dead_letter";
- /** Message is deferred. */
- static constexpr const char *kDefer = "defer";
- } // namespace MessagingServicebusDispositionStatusValues
- namespace NetworkConnectionSubtypeValues
- {
- /** GPRS. */
- static constexpr const char *kGprs = "gprs";
- /** EDGE. */
- static constexpr const char *kEdge = "edge";
- /** UMTS. */
- static constexpr const char *kUmts = "umts";
- /** CDMA. */
- static constexpr const char *kCdma = "cdma";
- /** EVDO Rel. 0. */
- static constexpr const char *kEvdo0 = "evdo_0";
- /** EVDO Rev. A. */
- static constexpr const char *kEvdoA = "evdo_a";
- /** CDMA2000 1XRTT. */
- static constexpr const char *kCdma20001xrtt = "cdma2000_1xrtt";
- /** HSDPA. */
- static constexpr const char *kHsdpa = "hsdpa";
- /** HSUPA. */
- static constexpr const char *kHsupa = "hsupa";
- /** HSPA. */
- static constexpr const char *kHspa = "hspa";
- /** IDEN. */
- static constexpr const char *kIden = "iden";
- /** EVDO Rev. B. */
- static constexpr const char *kEvdoB = "evdo_b";
- /** LTE. */
- static constexpr const char *kLte = "lte";
- /** EHRPD. */
- static constexpr const char *kEhrpd = "ehrpd";
- /** HSPAP. */
- static constexpr const char *kHspap = "hspap";
- /** GSM. */
- static constexpr const char *kGsm = "gsm";
- /** TD-SCDMA. */
- static constexpr const char *kTdScdma = "td_scdma";
- /** IWLAN. */
- static constexpr const char *kIwlan = "iwlan";
- /** 5G NR (New Radio). */
- static constexpr const char *kNr = "nr";
- /** 5G NRNSA (New Radio Non-Standalone). */
- static constexpr const char *kNrnsa = "nrnsa";
- /** LTE CA. */
- static constexpr const char *kLteCa = "lte_ca";
- } // namespace NetworkConnectionSubtypeValues
- namespace NetworkConnectionTypeValues
- {
- /** wifi. */
- static constexpr const char *kWifi = "wifi";
- /** wired. */
- static constexpr const char *kWired = "wired";
- /** cell. */
- static constexpr const char *kCell = "cell";
- /** unavailable. */
- static constexpr const char *kUnavailable = "unavailable";
- /** unknown. */
- static constexpr const char *kUnknown = "unknown";
- } // namespace NetworkConnectionTypeValues
- namespace NetworkIoDirectionValues
- {
- /** transmit. */
- static constexpr const char *kTransmit = "transmit";
- /** receive. */
- static constexpr const char *kReceive = "receive";
- } // namespace NetworkIoDirectionValues
- namespace NetworkTransportValues
- {
- /** TCP. */
- static constexpr const char *kTcp = "tcp";
- /** UDP. */
- static constexpr const char *kUdp = "udp";
- /** Named or anonymous pipe. */
- static constexpr const char *kPipe = "pipe";
- /** Unix domain socket. */
- static constexpr const char *kUnix = "unix";
- /** QUIC. */
- static constexpr const char *kQuic = "quic";
- } // namespace NetworkTransportValues
- namespace NetworkTypeValues
- {
- /** IPv4. */
- static constexpr const char *kIpv4 = "ipv4";
- /** IPv6. */
- static constexpr const char *kIpv6 = "ipv6";
- } // namespace NetworkTypeValues
- namespace OpentracingRefTypeValues
- {
- /** The parent Span depends on the child Span in some capacity. */
- static constexpr const char *kChildOf = "child_of";
- /** The parent Span doesn't depend in any way on the result of the child Span. */
- static constexpr const char *kFollowsFrom = "follows_from";
- } // namespace OpentracingRefTypeValues
- namespace OsTypeValues
- {
- /** Microsoft Windows. */
- static constexpr const char *kWindows = "windows";
- /** Linux. */
- static constexpr const char *kLinux = "linux";
- /** Apple Darwin. */
- static constexpr const char *kDarwin = "darwin";
- /** FreeBSD. */
- static constexpr const char *kFreebsd = "freebsd";
- /** NetBSD. */
- static constexpr const char *kNetbsd = "netbsd";
- /** OpenBSD. */
- static constexpr const char *kOpenbsd = "openbsd";
- /** DragonFly BSD. */
- static constexpr const char *kDragonflybsd = "dragonflybsd";
- /** HP-UX (Hewlett Packard Unix). */
- static constexpr const char *kHpux = "hpux";
- /** AIX (Advanced Interactive eXecutive). */
- static constexpr const char *kAix = "aix";
- /** SunOS, Oracle Solaris. */
- static constexpr const char *kSolaris = "solaris";
- /** IBM z/OS. */
- static constexpr const char *kZOs = "z_os";
- } // namespace OsTypeValues
- namespace OtelStatusCodeValues
- {
- /** The operation has been validated by an Application developer or Operator to have completed
- * successfully. */
- static constexpr const char *kOk = "OK";
- /** The operation contains an error. */
- static constexpr const char *kError = "ERROR";
- } // namespace OtelStatusCodeValues
- namespace ProcessContextSwitchTypeValues
- {
- /** voluntary. */
- static constexpr const char *kVoluntary = "voluntary";
- /** involuntary. */
- static constexpr const char *kInvoluntary = "involuntary";
- } // namespace ProcessContextSwitchTypeValues
- namespace ProcessPagingFaultTypeValues
- {
- /** major. */
- static constexpr const char *kMajor = "major";
- /** minor. */
- static constexpr const char *kMinor = "minor";
- } // namespace ProcessPagingFaultTypeValues
- namespace RpcConnectRpcErrorCodeValues
- {
- /** cancelled. */
- static constexpr const char *kCancelled = "cancelled";
- /** unknown. */
- static constexpr const char *kUnknown = "unknown";
- /** invalid_argument. */
- static constexpr const char *kInvalidArgument = "invalid_argument";
- /** deadline_exceeded. */
- static constexpr const char *kDeadlineExceeded = "deadline_exceeded";
- /** not_found. */
- static constexpr const char *kNotFound = "not_found";
- /** already_exists. */
- static constexpr const char *kAlreadyExists = "already_exists";
- /** permission_denied. */
- static constexpr const char *kPermissionDenied = "permission_denied";
- /** resource_exhausted. */
- static constexpr const char *kResourceExhausted = "resource_exhausted";
- /** failed_precondition. */
- static constexpr const char *kFailedPrecondition = "failed_precondition";
- /** aborted. */
- static constexpr const char *kAborted = "aborted";
- /** out_of_range. */
- static constexpr const char *kOutOfRange = "out_of_range";
- /** unimplemented. */
- static constexpr const char *kUnimplemented = "unimplemented";
- /** internal. */
- static constexpr const char *kInternal = "internal";
- /** unavailable. */
- static constexpr const char *kUnavailable = "unavailable";
- /** data_loss. */
- static constexpr const char *kDataLoss = "data_loss";
- /** unauthenticated. */
- static constexpr const char *kUnauthenticated = "unauthenticated";
- } // namespace RpcConnectRpcErrorCodeValues
- namespace RpcGrpcStatusCodeValues
- {
- /** OK. */
- static constexpr const int kOk = 0;
- /** CANCELLED. */
- static constexpr const int kCancelled = 1;
- /** UNKNOWN. */
- static constexpr const int kUnknown = 2;
- /** INVALID_ARGUMENT. */
- static constexpr const int kInvalidArgument = 3;
- /** DEADLINE_EXCEEDED. */
- static constexpr const int kDeadlineExceeded = 4;
- /** NOT_FOUND. */
- static constexpr const int kNotFound = 5;
- /** ALREADY_EXISTS. */
- static constexpr const int kAlreadyExists = 6;
- /** PERMISSION_DENIED. */
- static constexpr const int kPermissionDenied = 7;
- /** RESOURCE_EXHAUSTED. */
- static constexpr const int kResourceExhausted = 8;
- /** FAILED_PRECONDITION. */
- static constexpr const int kFailedPrecondition = 9;
- /** ABORTED. */
- static constexpr const int kAborted = 10;
- /** OUT_OF_RANGE. */
- static constexpr const int kOutOfRange = 11;
- /** UNIMPLEMENTED. */
- static constexpr const int kUnimplemented = 12;
- /** INTERNAL. */
- static constexpr const int kInternal = 13;
- /** UNAVAILABLE. */
- static constexpr const int kUnavailable = 14;
- /** DATA_LOSS. */
- static constexpr const int kDataLoss = 15;
- /** UNAUTHENTICATED. */
- static constexpr const int kUnauthenticated = 16;
- } // namespace RpcGrpcStatusCodeValues
- namespace RpcMessageTypeValues
- {
- /** sent. */
- static constexpr const char *kSent = "SENT";
- /** received. */
- static constexpr const char *kReceived = "RECEIVED";
- } // namespace RpcMessageTypeValues
- namespace RpcSystemValues
- {
- /** gRPC. */
- static constexpr const char *kGrpc = "grpc";
- /** Java RMI. */
- static constexpr const char *kJavaRmi = "java_rmi";
- /** .NET WCF. */
- static constexpr const char *kDotnetWcf = "dotnet_wcf";
- /** Apache Dubbo. */
- static constexpr const char *kApacheDubbo = "apache_dubbo";
- /** Connect RPC. */
- static constexpr const char *kConnectRpc = "connect_rpc";
- } // namespace RpcSystemValues
- namespace SignalrConnectionStatusValues
- {
- /** The connection was closed normally. */
- static constexpr const char *kNormalClosure = "normal_closure";
- /** The connection was closed due to a timeout. */
- static constexpr const char *kTimeout = "timeout";
- /** The connection was closed because the app is shutting down. */
- static constexpr const char *kAppShutdown = "app_shutdown";
- } // namespace SignalrConnectionStatusValues
- namespace SignalrTransportValues
- {
- /** ServerSentEvents protocol. */
- static constexpr const char *kServerSentEvents = "server_sent_events";
- /** LongPolling protocol. */
- static constexpr const char *kLongPolling = "long_polling";
- /** WebSockets protocol. */
- static constexpr const char *kWebSockets = "web_sockets";
- } // namespace SignalrTransportValues
- namespace SystemMemoryStateValues
- {
- /** used. */
- static constexpr const char *kUsed = "used";
- /** free. */
- static constexpr const char *kFree = "free";
- /** shared. */
- static constexpr const char *kShared = "shared";
- /** buffers. */
- static constexpr const char *kBuffers = "buffers";
- /** cached. */
- static constexpr const char *kCached = "cached";
- } // namespace SystemMemoryStateValues
- namespace SystemPagingDirectionValues
- {
- /** in. */
- static constexpr const char *kIn = "in";
- /** out. */
- static constexpr const char *kOut = "out";
- } // namespace SystemPagingDirectionValues
- namespace SystemPagingStateValues
- {
- /** used. */
- static constexpr const char *kUsed = "used";
- /** free. */
- static constexpr const char *kFree = "free";
- } // namespace SystemPagingStateValues
- namespace SystemPagingTypeValues
- {
- /** major. */
- static constexpr const char *kMajor = "major";
- /** minor. */
- static constexpr const char *kMinor = "minor";
- } // namespace SystemPagingTypeValues
- namespace SystemFilesystemStateValues
- {
- /** used. */
- static constexpr const char *kUsed = "used";
- /** free. */
- static constexpr const char *kFree = "free";
- /** reserved. */
- static constexpr const char *kReserved = "reserved";
- } // namespace SystemFilesystemStateValues
- namespace SystemFilesystemTypeValues
- {
- /** fat32. */
- static constexpr const char *kFat32 = "fat32";
- /** exfat. */
- static constexpr const char *kExfat = "exfat";
- /** ntfs. */
- static constexpr const char *kNtfs = "ntfs";
- /** refs. */
- static constexpr const char *kRefs = "refs";
- /** hfsplus. */
- static constexpr const char *kHfsplus = "hfsplus";
- /** ext4. */
- static constexpr const char *kExt4 = "ext4";
- } // namespace SystemFilesystemTypeValues
- namespace SystemNetworkStateValues
- {
- /** close. */
- static constexpr const char *kClose = "close";
- /** close_wait. */
- static constexpr const char *kCloseWait = "close_wait";
- /** closing. */
- static constexpr const char *kClosing = "closing";
- /** delete. */
- static constexpr const char *kDelete = "delete";
- /** established. */
- static constexpr const char *kEstablished = "established";
- /** fin_wait_1. */
- static constexpr const char *kFinWait1 = "fin_wait_1";
- /** fin_wait_2. */
- static constexpr const char *kFinWait2 = "fin_wait_2";
- /** last_ack. */
- static constexpr const char *kLastAck = "last_ack";
- /** listen. */
- static constexpr const char *kListen = "listen";
- /** syn_recv. */
- static constexpr const char *kSynRecv = "syn_recv";
- /** syn_sent. */
- static constexpr const char *kSynSent = "syn_sent";
- /** time_wait. */
- static constexpr const char *kTimeWait = "time_wait";
- } // namespace SystemNetworkStateValues
- namespace SystemProcessStatusValues
- {
- /** running. */
- static constexpr const char *kRunning = "running";
- /** sleeping. */
- static constexpr const char *kSleeping = "sleeping";
- /** stopped. */
- static constexpr const char *kStopped = "stopped";
- /** defunct. */
- static constexpr const char *kDefunct = "defunct";
- } // namespace SystemProcessStatusValues
- namespace TelemetrySdkLanguageValues
- {
- /** cpp. */
- static constexpr const char *kCpp = "cpp";
- /** dotnet. */
- static constexpr const char *kDotnet = "dotnet";
- /** erlang. */
- static constexpr const char *kErlang = "erlang";
- /** go. */
- static constexpr const char *kGo = "go";
- /** java. */
- static constexpr const char *kJava = "java";
- /** nodejs. */
- static constexpr const char *kNodejs = "nodejs";
- /** php. */
- static constexpr const char *kPhp = "php";
- /** python. */
- static constexpr const char *kPython = "python";
- /** ruby. */
- static constexpr const char *kRuby = "ruby";
- /** rust. */
- static constexpr const char *kRust = "rust";
- /** swift. */
- static constexpr const char *kSwift = "swift";
- /** webjs. */
- static constexpr const char *kWebjs = "webjs";
- } // namespace TelemetrySdkLanguageValues
- namespace TestCaseResultStatusValues
- {
- /** pass. */
- static constexpr const char *kPass = "pass";
- /** fail. */
- static constexpr const char *kFail = "fail";
- } // namespace TestCaseResultStatusValues
- namespace TestSuiteRunStatusValues
- {
- /** success. */
- static constexpr const char *kSuccess = "success";
- /** failure. */
- static constexpr const char *kFailure = "failure";
- /** skipped. */
- static constexpr const char *kSkipped = "skipped";
- /** aborted. */
- static constexpr const char *kAborted = "aborted";
- /** timed_out. */
- static constexpr const char *kTimedOut = "timed_out";
- /** in_progress. */
- static constexpr const char *kInProgress = "in_progress";
- } // namespace TestSuiteRunStatusValues
- namespace TlsProtocolNameValues
- {
- /** ssl. */
- static constexpr const char *kSsl = "ssl";
- /** tls. */
- static constexpr const char *kTls = "tls";
- } // namespace TlsProtocolNameValues
- namespace V8jsGcTypeValues
- {
- /** Major (Mark Sweep Compact). */
- static constexpr const char *kMajor = "major";
- /** Minor (Scavenge). */
- static constexpr const char *kMinor = "minor";
- /** Incremental (Incremental Marking). */
- static constexpr const char *kIncremental = "incremental";
- /** Weak Callbacks (Process Weak Callbacks). */
- static constexpr const char *kWeakcb = "weakcb";
- } // namespace V8jsGcTypeValues
- namespace V8jsHeapSpaceNameValues
- {
- /** New memory space. */
- static constexpr const char *kNewSpace = "new_space";
- /** Old memory space. */
- static constexpr const char *kOldSpace = "old_space";
- /** Code memory space. */
- static constexpr const char *kCodeSpace = "code_space";
- /** Map memory space. */
- static constexpr const char *kMapSpace = "map_space";
- /** Large object memory space. */
- static constexpr const char *kLargeObjectSpace = "large_object_space";
- } // namespace V8jsHeapSpaceNameValues
- namespace VcsRepositoryRefTypeValues
- {
- /** [branch](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddefbranchabranch). */
- static constexpr const char *kBranch = "branch";
- /** [tag](https://git-scm.com/docs/gitglossary#Documentation/gitglossary.txt-aiddeftagatag). */
- static constexpr const char *kTag = "tag";
- } // namespace VcsRepositoryRefTypeValues
- } // namespace SemanticConventions
- } // namespace trace
- OPENTELEMETRY_END_NAMESPACE
|