package Ġdev . o ht ake . ktor . tracer Ċ Ċ import Ġio . openc ensus . trace .* Ċ Ċ fun ĠSpan . setStatus ( statusCode : ĠInt ) Ġ{ ĊĠĠĠ Ġwhen Ġ( statusCode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġin Ġ 2 0 0 .. 3 9 9 Ġ-> ĠsetStatus ( Status . OK ) ĊĠĠĠĠĠĠĠĠ 4 0 0 Ġ-> ĠsetStatus ( Status . INVALID _ ARGUMENT ) ĊĠĠĠĠĠĠĠĠ 5 0 4 Ġ-> ĠsetStatus ( Status . DEAD LINE _ EX CE EDED ) ĊĠĠĠĠĠĠĠĠ 4 0 4 Ġ-> ĠsetStatus ( Status . NOT _ FOUND ) ĊĠĠĠĠĠĠĠĠ 4 0 3 Ġ-> ĠsetStatus ( Status . PERMISSION _ DEN IED ) ĊĠĠĠĠĠĠĠĠ 4 0 1 Ġ-> ĠsetStatus ( Status . UN AUTHENT IC ATED ) ĊĠĠĠĠĠĠĠĠ 4 2 9 Ġ-> ĠsetStatus ( Status . RESOURCE _ EX HA UST ED ) ĊĠĠĠĠĠĠĠĠ 5 0 0 Ġ-> ĠsetStatus ( Status . INTERNAL ) ĊĠĠĠĠĠĠĠĠ 5 0 1 Ġ-> ĠsetStatus ( Status . UN IMPLEMENTED ) ĊĠĠĠĠĠĠĠĠ 5 0 3 Ġ-> ĠsetStatus ( Status . UN AVAILABLE ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠsetStatus ( Status . UNKNOWN ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠSpan . message Event ( event : ĠMessage Event ) Ġ{ ĊĠĠĠ Ġadd Message Event ( event ) Ċ } Ċ Ċ fun ĠSpan . attribute ( key : ĠString , Ġvalue : ĠString ?) Ġ{ ĊĠĠĠ Ġif Ġ( value . isNull OrEmpty ()) Ġreturn ĊĠĠĠ Ġput Attribute ( key , ĠAttribute Value . string AttributeValue ( value )) Ċ } Ċ Ċ fun ĠSpan . attribute ( key : ĠString , Ġvalue : ĠInt ?) Ġ{ ĊĠĠĠ Ġif Ġ( value Ġ== Ġnull ) Ġreturn ĊĠĠĠ Ġput Attribute ( key , ĠAttribute Value . long AttributeValue ( value . to Long ())) Ċ } Ċ Ċ fun ĠSpan . annotation ( description : ĠString , Ġattribut ions : ĠMap < String , ĠString > ?) Ġ{ ĊĠĠĠ Ġif Ġ( attribut ions . isNull OrEmpty ()) Ġreturn ĊĠĠĠ Ġadd Annotation ( ĊĠĠĠĠĠĠĠ Ġdescription , ĊĠĠĠĠĠĠĠ Ġattribut ions . map Ġ{ Ġit . key Ġto ĠAttribute Value . string AttributeValue ( it . value ) Ġ}. toMap () ĊĠĠĠ Ġ) Ċ } Ċ