/* Ċ Ġ* ĠCopyright ĠThe ĠOpen Telemetry ĠAuthors Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ package Ġio . op entelemetry . kotlin . sdk . common Ċ Ċ import Ġio . op entelemetry . kotlin . api . common . get Nan oseconds Ċ import Ġkotlinx . datetime . Clock Ġas ĠDateTime Clock Ċ Ċ /** ĠA Ġ[ Clock ] Ġthat Ġuses Ġ[ System . currentTimeMillis ] Ġand Ġ[ System . nano Time ]. Ġ*/ Ċ class ĠSystem Clock Ġprivate Ġconstructor () Ġ: ĠClock Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġnow (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDateTime Clock . System . now (). to Epoch Milliseconds () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġnano Time (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠDateTime Clock . System . now (). get Nan oseconds () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINSTANCE Ġ= ĠSystem Clock () ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠReturns Ġa Ġ` Millis Clock `. ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġa Ġ` Millis Clock `. ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġinstance : ĠClock ĊĠĠĠĠĠĠĠĠĠĠĠ Ġget () Ġ= ĠINSTANCE ĊĠĠĠ Ġ} Ċ } Ċ