Commit Graph

142 Commits

Author SHA1 Message Date
Cijo Thomas 3c49d35cf1
Cleanup logging docs (#1563)
* Cleanup logging docs

* remove dead link

* fix link
2020-11-17 08:07:45 -08:00
Cijo Thomas 8d91622ec3
Add Alan West as approver (#1478)
Co-authored-by: Eddy Nakamura <ednakamu@microsoft.com>
2020-11-06 09:04:44 -08:00
Christoph Neumüller d76a00b205
remove discostu105 from approvers (#1380) 2020-10-20 23:02:00 -07:00
Reiley Yang f68157f49e
Clean up logging work (#1341)
* clean up logging work

* update the main readme file

* fix broken link
2020-10-12 00:36:22 -07:00
Reiley Yang e381b395cb
add missing link (#1340) 2020-10-09 16:57:30 -07:00
Cijo Thomas 57402913ff
Add myget feed to readme (#1318) 2020-10-01 07:38:19 -07:00
Reiley Yang a7bbefd0fc
remove Liudmila (Microsoft) (#1312)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-09-29 16:18:29 -07:00
Paulo Janotti 6c845da6a9
Add Eddy Nakamura as an approver (#1298)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-09-23 10:11:06 -07:00
Reiley Yang a6795c224f
sanitize EOL for *.md files (#1257) 2020-09-10 09:47:32 -07:00
Cijo Thomas a3731ea02d
Document supported versions of .NET (#1249)
* Document supported versions of .NET

* Apply suggestions from code review

Co-authored-by: Reiley Yang <reyang@microsoft.com>

* Apply suggestions from code review

Co-authored-by: Reiley Yang <reyang@microsoft.com>

* line breaks

Co-authored-by: Reiley Yang <reyang@microsoft.com>
2020-09-09 13:28:22 -07:00
Reiley Yang 6efe758b55
Add doc on how to correlate ILogger with trace (#1214)
* add doc for ILogger correlation with trace

* fix links

* mention that ILogger correlation only works for .NET5, clarify the options

* distinguish ILogger and Microsoft.Extensions.Logging

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-09-01 07:15:39 -07:00
Reiley Yang a7f53b5974
minor improvement on homepage (#1154) 2020-08-24 17:47:49 -07:00
Alan West 0f618d001d
Rename gRPC instrumentation project (#1136)
* Rename project OpenTelemetry.Instrumentation.GrpcNetClient

* Update GrpcNetClient README

* Update AspNetCore instrumentation README with gRPC support

* Update changelog and top-level readme

* markdownlint

* Fix project/file path references

* Change namespace to GrpcNetClient

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-08-21 21:35:19 -07:00
Reiley Yang 310f315099
Adjust/fix wording (#1061)
* adjust/fix wording

* adjust wording
2020-08-12 11:29:46 -07:00
Cijo Thomas e86e49a2e9
Replace docs example with actual code (#1054)
* Replace doc with actual program

* fix

* min

* fix

* review coment

* fix format

* fix docfx build
2020-08-12 08:48:31 -07:00
Reiley Yang 4f8c351420
minor clean up (#1002)
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-08-04 14:51:59 -07:00
Reiley Yang 637874f49e
Doc skeleton (#943)
* skeleton doc

* fix nits
2020-07-30 23:01:35 -07:00
Reiley Yang 421612ee2a
add link to the contribution graph (#932) 2020-07-27 08:35:30 -07:00
Eddy Nakamura e4160635b3
Adding nuget/myget badges (#913)
* Adding nuget/myget badges

* updating label from myget

* updating label again

* Update README.md

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-07-24 12:27:22 -07:00
Reiley Yang 13420d0593
less is more (#914) 2020-07-24 08:21:06 -07:00
Reiley Yang d806a6a7bb
Simplify entry doc (#909)
* simplify entry doc

* simplify the wording

* wrap line

Co-authored-by: Mike Goldsmith <goldsmith.mike@gmail.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-07-24 07:17:11 -07:00
Mike Goldsmith 03d9845f22
Add contributors image to README (#912)
* add contributors image to readme

* fix markdown syntax

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-07-24 07:15:31 -07:00
Mike Goldsmith dc7d1268d1
update Mike's company (#911) 2020-07-24 07:08:37 -07:00
Eddy Nakamura 2dd8daa1e4
Splitting Instrumentation Projects (#890)
updating README

updating sql integration test

updating yml

updating dockerfile

updating readme

updating global.asax

updating version and readme

removing unused reference, adding properties folder to be similar to OT project

adding zipkin docker in comments

updating to standard2.1

removing unused usings

updating aspnet/aspnetcore methods naming

applying cijo's suggestions

updating projects to compile semantic file, updating comments

Splitting Instrumentation Projects

updating README

updating sql integration test

updating yml

updating dockerfile

updating readme

updating global.asax

updating version and readme

removing unused reference, adding properties folder to be similar to OT project

adding zipkin docker in comments

updating to standard2.1

removing unused usings

applying cijo's suggestions
2020-07-23 11:50:57 -07:00
Cijo Thomas b6df53854a
Add Reiley as approver instead of Triager (#899)
* Add Reiley as approver instead of Triager

* harmless change to trigger CI
2020-07-23 11:21:54 -07:00
Reiley Yang e243394211
Clean up instrumentation library doc (#883)
* clean up instrumentation doc

* clean up

* fix nits

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
2020-07-22 15:03:31 -07:00
Reiley Yang c9c39555d3
Add get started document (#870)
* add get started document

* fix nit

* remove unused stuff

* fix broken link
2020-07-21 20:12:53 -07:00
Reiley Yang 234399c093
Move SDK doc, minor clean up (#858)
* move SDK doc, minor clean up

* update link

* fix typo

* fix typo

* remove exporter from SDK doc

* remove broken link

* update badge

* fix typo

* fix code snippet indentation

* fix code snippet indentation

* fix nits

* fix nits

* fix nits
2020-07-20 21:19:54 -07:00
Reiley Yang a4284aca24
Minor doc cleanup (#856)
* minor doc cleanup

* revert to CRLF to minimize diff

* improve wording

* make docfx happy
2020-07-20 17:20:36 -07:00
Cijo Thomas 00ee600fc7
Basic docs (#847)
Basic API usage doc, SDK usage doc.
2020-07-20 11:49:47 -07:00
Reiley Yang 157495803c
Add markdownlint to CI (#848)
* markdownlint

* rename

* rename

* fix lint issue discovered by markdownlint
2020-07-20 07:51:37 -07:00
Cijo Thomas 6dbc69f76b
Add Mikel as maintainer (#805)
Co-authored-by: Mike Goldsmith <goldsmith.mike@gmail.com>
2020-07-16 14:25:10 +01:00
Cijo Thomas cdf0cbe397
Modify readme to show CI status badge. (#775)
* Modify readme to show CI status badge.

* refac

* layout ix

* remoe extra line

* spacing
2020-07-07 12:52:36 -07:00
Reiley Yang 9347d43c18
Adding Mikel as an approver (#711)
* add Mikel as an approver

* update corp info

Co-authored-by: Mike Goldsmith <goldsmith.mike@gmail.com>
2020-06-04 20:15:45 +01:00
Reiley Yang 9125da5626
Adding Cijo as a maintainer (#685)
* add Cijo as the maintainer

* manually resolve merge conflict

* remove extra empty line introduced by auto merge
2020-05-20 21:56:02 -07:00
Reiley Yang 326f11bff0
Adding Paulo as an approver (#686)
* add Paulo as the approver

* update CODEOWNERS

* fix nit

* Add OTLP for Activity Exporter  (#679)

* Add OTLP Exporter for Activity

* Initial PR feedback

* Check ID format and use DisplayName

* Skip the activity instances that could not be translated

Co-authored-by: Cijo Thomas <cithomas@microsoft.com>

* Rename Adapter to Instrumentation per latest spec (#681)

Co-authored-by: Mike Goldsmith <goldsmith.mike@gmail.com>

Co-authored-by: Paulo Janotti <pjanotti@splunk.com>
Co-authored-by: Cijo Thomas <cithomas@microsoft.com>
Co-authored-by: Mike Goldsmith <goldsmith.mike@gmail.com>
2020-05-20 12:40:33 -07:00
Sergey Kanzhelev 4334115f58
suggest Reiley as a triager (#677) 2020-05-15 07:30:24 +01:00
Sergey Kanzhelev 5251c461f5
Sergey moved to Google (#676) 2020-05-14 14:34:26 -07:00
Reiley Yang 2816263dd7
Clean up README.md (#648)
* clean up README.md

* fix typo

* Update README.md

Co-Authored-By: Paulo Janotti <pjanotti@splunk.com>

* remove dev specific instruction

* add exporter specific docs

* add a separate doc on custom exporters/samplers

* clean up

Co-authored-by: Paulo Janotti <pjanotti@splunk.com>
2020-04-30 13:40:01 -07:00
Sergey Kanzhelev 8c36d6b3c9
propose to add Cijo as an approver (#636) 2020-04-27 14:18:47 -07:00
Long Mai 09f008b037
refactor: rename to OpenTelemetry.Extensions.Hosting from OpenTelemetry.Hosting (#623)
* refactor: sln, csproj, and dir to Extensions.Hosting from Hosting

* refactor: ref Microsoft.Extensions.Hosting.Abstractions instead of concrete

* refactor: ns to Extensions.Hosting from Hosting

* docs: OpenTelemetry.Extensions.Hosting rename from OpenTelemetry.Hosting

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-04-27 14:08:39 -07:00
Cijo Thomas 93fa3f9ff5
Small improvements to readme and comments. (#628)
* Additional comments, minor changes.

* improve readme

* Update src/OpenTelemetry/Trace/Export/BatchingSpanProcessor.cs

Co-Authored-By: Bruno Garcia <bruno@brunogarcia.com>

* Update src/OpenTelemetry/Trace/Export/BatchingSpanProcessor.cs

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
Co-authored-by: Bruno Garcia <bruno@brunogarcia.com>
2020-04-23 14:17:50 -07:00
Cijo Thomas 8983b41255
Remove non-working example from readme (#621)
* Remove non-working example from readme

* revert unintended changes

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-04-22 18:07:59 -07:00
Long Mai 4f352ff73c
refactor!: collector to adapter (#612)
* refactor: collector to adapter project file and dir

* refactor: collector to adapter namespaces

* refactor!: collector to adapter variable rename

BREAKING CHANGE

* docs: rename collector to adapter

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-04-22 14:44:55 -07:00
Eddy Nakamura 13d2acda4c
updating README.md samples (#556)
* updating README.md samples

* adding missing variables to example

* updating samples in readme

Co-authored-by: Mike Goldsmith <goldsmith.mike@gmail.com>
2020-04-03 15:47:15 +01:00
Sergey Kanzhelev 542f7a3e29
fixes #559 (#563) 2020-04-01 12:10:11 -07:00
Mikel Blanchard 5fa22a3bc2
Added support for .NET Framework HttpClient & HttpWebRequest dependency collection. (#553)
* Added support for .NET Framework HttpClient & HttpWebRequest dependency collection.

* Code review feedback.

* Updated HttpHandlerDiagnosticListener with latest changes from dotnet/runtime. Added try/finally for span.End calls. Fixed missing span.End in Sql exception event.

* Fixed broken SqlClientTests.

* A few tweaks to README for recent collector changes.

* Tested Azure SDK exception path and updated the TODO comment.
2020-04-01 00:40:27 -07:00
Mikel Blanchard f93df2bbea
AspNet request collector (#543)
* Added a collector for incoming ASP.NET requests.

* Unit tests.

* Code review.

* Attempting to get windows build working.

* Attempting to fix build.

* Attempting to get the build working.

* Attempting to get the build working.

* Attempting to fix the build.

* Attempting to get Linux build working.

* Attempting to get linux build working.

* Attempting to get linux build working.

* Attempting to get build working.

* Attempting to get all tests running on windows.

* Attempting to get tests running on windows.

* Attempting to get the myget build working.

* Indention fix in myget yml.

* Code review.

* Code review.

* Code review.

* Code review.

* Code review.
2020-03-20 19:59:45 -07:00
Mikel Blanchard c1d72e6927
Add Sql Collector (Part 2) (#536)
* Picking up where alexvaluyskiy left off with the SqlClientCollector. Worked on PR feedback. Added unit tests.

* Updated README.

* Fixed inconsistent comments.

* Code review.

* Code review #2.

* More code review.

* Code review feedback.

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-03-17 13:37:01 -07:00
Liz Fong-Jones 6fcfccd819
add honeycomb exporter (#538)
* add honeycomb exporter to README
2020-03-12 07:53:26 -04:00
Łukasz Pyrzyk f0a0b07ffb
Adjusted UseZipkin to new signature (#514)
Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-03-02 09:52:33 -08:00
Timothy Mothra 988984a7fa
fix typo in readme (#510)
I was asked to fix spelling errors when found. :)
2020-03-02 09:29:11 -08:00
SychevIgor 63d9bf145c
Asp.net core based sample of ApplicationInsights export (#433)
* Asp.net core based sample of ApplicationInsights export

* links to samples

* update links

* fixed solution

* fix merge issues

Co-authored-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
2020-01-29 12:18:16 -08:00
Liudmila Molkova 1ba11917e8
Add helper to create service resource (#457)
* Add helper to create service resource

* add tests
2020-01-22 16:48:12 -08:00
Mike Goldsmith e605659411 add MyGet links for Console Exporter (#460) 2020-01-22 09:39:35 -08:00
Bruno Garcia 4ba732af06 fix ASP.NET and .NET casing (#443) 2020-01-15 09:42:53 -08:00
Sergey Kanzhelev 38092abd44
suggesting to add Mike as approver (#422) 2020-01-07 09:41:48 -08:00
mgodse 5fe3c85220 Adding New Relic Exporter links (#396)
* Adding NewRelic links

* Added links to documentation
2019-12-12 15:28:45 -08:00
Liudmila Molkova 287f08fa74
Update sampling API according to the spec (#369)
* Update sampling API according to the spec

* clean up public surface of probability sampler
2019-12-04 12:18:09 -08:00
Mike Goldsmith 239e05d97d Add LightStep exporter myget and nuget links to README (#352) 2019-11-22 09:50:14 -08:00
Mike Goldsmith 2bfe9192b4 Add TracerBuilder extension to configure Jaeger (#347)
* add TracerBuilder extension to configure Jaeger

* update jaeger example and README
2019-11-21 10:13:52 -08:00
Mike Goldsmith d465fa2649 Add TracerBuilderExtensions to configure LightStep exporter (#348)
* add TracerBuilderExtensions to configure LightStep exporter

* add LightStep exporter example to README

* Revert "add LightStep exporter example to README"

This reverts commit daeddb18d1.

* re-add lightstep configuration example to README

(didn’t break WIN line endings this time)

* update lightstep example

* update lightstep code example
2019-11-21 10:03:37 -08:00
Sergey Kanzhelev cb5eebdff7
Update README.md (#345) 2019-11-19 20:17:10 -08:00
Sergey Kanzhelev a1563388f8
Use Resource labels as additional arguments for Zipkin. Also re-use the service name (#338)
* tmp

* added resource into readme

* added a single test case

* added more test cases

* removed MergeResource
2019-11-19 11:18:35 -08:00
Sergey Kanzhelev 7a6efc651a
Reolving TracerFactory is not required when use Opentelemetry.hosting (#333) 2019-11-09 12:46:56 -08:00
Sergey Kanzhelev 605760cf5a
Rename Abstractions to Api (#317)
* Rename Abstractions to Api

* fixed Api casing
2019-10-28 16:17:08 -07:00
Liudmila Molkova 5090cf777b
Add convenience methods to start active span (#305)
* first

* Add friendly API to start active spans

* update readme and add test

* rename benchmarks

* Remove StartActiveRootSpan - this is rare case

* Move active spans creation to extensions, WithSpan has flag to control lifetime

* tests pass

* cleanup

* a few more tests

* test

* docs

* I hate stylecop

* fix broken test

* Dispose spans on end (when span lifetime is the same as scope lifetime)
2019-10-25 07:11:09 -10:00
Chris Kleinknecht 48410e0fb5 Fix typo in README (#313)
Remove a duplicate `:` in the README.
2019-10-24 22:01:37 -07:00
Sergey Kanzhelev 450fc19d91
Move peoples list out of community repo (#309)
Related to https://github.com/open-telemetry/community/issues/233
2019-10-23 14:26:56 -07:00
Liudmila Molkova c6c87ab59a
Multiple processors on tracer: configuration (#286)
* test

* Multiple processor chains

* Update src/OpenTelemetry/Trace/Export/Internal/NoopSpanProcessor.cs

Co-Authored-By: Sergey Kanzhelev <S.Kanzhelev@live.com>

* clean up and make tests pass

* more clean up

* Tests for multiple processors

* readme and rebase
2019-10-21 17:42:30 -07:00
Andy Gardner 31cec9d1ba Adding Jeager Exporter links (#288) 2019-10-18 09:52:18 -07:00
James Newton-King e7bd851f32 Add OpenTelemetry.Hosting (#275)
* Add OpenTelemetry.Hosting

* Update README.md

* Docs and additional test
2019-10-17 22:05:39 -07:00
Liudmila Molkova 7141ee23d8
Tracing configuration API (#267)
* tracer factory configuration

* review

* default factory

* review

* Tests and readme

* Update README.md

Co-Authored-By: Austin Parker <austin@lightstep.com>

* null checks

* rebase from master
2019-10-11 18:53:11 -07:00
Liudmila Molkova afb1381bbd
Remove span builder (#268)
* Remove SpanBuilder

* tests

* more tests and readme

* review feedback
2019-10-11 15:47:19 -07:00
Wolfgang Ziegler 14e0d609eb README.md out of date (#263)
Replaced DI occurrences of ITracer/Tracer with ITracerFactory/TracerFactory
2019-10-08 11:20:35 -07:00
Liudmila Molkova 9924b16174 Add tracing collections examples and improve configuration (#243)
* Add tracing collections examples and improve configuration

* scope disposal

* links link
2019-10-01 10:35:59 -04:00
Cijo Thomas 6cad307c01 Fix jaeger exporter by assigning jaegerAgentUdpBatcher in constructor (#242)
* fix jaeger exporter by assigning udpbatcher in constructor

* JaegerTraceExporter keep existing constructor and default to JaegerUdpBatcher when none specified.

* monior refactor
2019-10-01 10:27:34 -04:00
Liudmila Molkova 49e800e433
Update readme (#236)
* Update readome: configuration

* up
2019-09-27 16:23:52 -07:00
Sung Yoon Whang 8726010968 Remove ExportComponent from README (#199)
* Remove ExportComponent from README

* Initial implementation of the OpenTracing bridge. (#197)

This is, where possible, a direct port of the current Java shim. There are some holes/TODOS. Notably:

-Missing the Binary injection/extraction of the span context. This doesn't exist with the current implementation of OpenTracing yet.
-Missing explicit timestamps for calls to OpenTracing ISpan::Log.
-Missing explicit timestamps for calls to OpenTracing ISpan::Finish
-Various calls to set/get baggage are not implemented. Requires OpenTelemetry DistributedContext to be finalized.

Other oddities worth nothing:

-The SpanBuilderShim has some conditional code for calling OpenTel SetCreateChild(true|false)
-The ScopeManagerShim is actively tracking scopes returned by calls to OpenTel WithSpan and associated those with the OpenTel ISpan used when calling WithSpan.

I tested this shim against an ASP.NET Core 3 Preview 8 service wired up with OpenTracing netcore and grpc collectors and exporting to Jaeger backend.

The included tests are unit tests only; no E2E tests.
2019-09-06 16:49:17 -07:00
Liudmila Molkova f7f4d9b714 fix badge (#189) 2019-08-19 17:35:15 -04:00
Liudmila Molkova fccdad2c57 Update README.md (#180) 2019-08-08 08:49:52 -04:00
PS-EGHornbostel 8e1d8fa47e Jaeger exporter implementation (#132)
* Fix visual studio dotnet core build task

* Added CNCF Jaeger exporter support

https://github.com/open-telemetry/opentelemetry-dotnet/issues/77

* possible fix for win32 build issue.

* Fix windows build by adding Thrift source

* Fix yet more windows build issues.

* fix another style issue.

* fix reference to System.Net.Http

* remove unnecessary conditional framework reference.

* Update lib/Thrift/Transports/Client/TStreamClientTransport.cs

Co-Authored-By: Bruno Garcia <github@brunogarcia.com>

* Update lib/Thrift/Transports/Client/TStreamClientTransport.cs

Co-Authored-By: Bruno Garcia <github@brunogarcia.com>

* Added the conditional for netstandard2.0

* remove IDisposable TODO comments.

* Update src/OpenTelemetry.Exporter.Jaeger/Implimentation/EmitBatchArgs.cs

Co-Authored-By: Bruno Garcia <github@brunogarcia.com>

* Add readme with thrift fork info.

* cleanup after merge.

* WIP remove thrift code

* Use prepackaged Apache Thrift assembly

* wrap EmitBatch

* Revert "wrap EmitBatch "

This reverts commit 9aaa1388ba.

* Revert "Use prepackaged Apache Thrift assembly"

This reverts commit fa5fbd8e6c.

* Revert "Use prepackaged Apache Thrift assembly"

This reverts commit fa5fbd8e6c.

* Revert "WIP remove thrift code"

This reverts commit bbbcf470e8.

* Add missing ConfigureAwait(false) to Thrift async calls.

* Added Thrift fork differences to README.md

* WIP Jaeger Unit tests

* Fix build after merge.

* WIP Jaeger Unit tests - Span conversion to Jaeger Thrift format

* WIP Jaeger Unit tests - Span conversion to Jaeger Thrift format - cleanup

* Clean up merge issues

* WIP

* WIP cleanup

* more testing WIP

* use pattern matching for attribute conversion

* WIP cleanup after timestamp removal.

* WIP

* WIP UDP integration test

* Update src/OpenTelemetry.Exporter.Jaeger/Implimentation/Batch.cs

Co-Authored-By: Bruno Garcia <github@brunogarcia.com>

* remove solution-explorer

* add to gitignore

* refactored List<T> to IEnumerable<T>

* Fix unit test bug

* Add integration test

* cleanup

* fix unix epoch conversion

* Update Thrift expected payload in unit test.

* fix build issues

* fix typo

* fix solution
2019-07-23 19:47:52 -07:00
ysma500 3538e05f0e Reroute urls to fix 404 on sample links (#126) 2019-06-26 22:07:19 -07:00
ysma500 0554756e8c Change open census to OpenTelemetry in readme file + Update prometheus quick guide in readme (#123)
* Changed open census to OpenTelemetry in readme file

* Added + wildcard, updated sample and readme to reflect sample
2019-06-25 22:54:37 -07:00
Sergey Kanzhelev 1bcd194fe3
fix links to MyGet (#40) 2019-05-20 15:30:02 -07:00
Sergey Kanzhelev 4ccb0acbcb
Update README.md (#29) 2019-05-14 10:02:13 -07:00
Sergey Kanzhelev 68421615fe
minor clean up (#26) 2019-05-13 13:13:03 -07:00
Sergey Kanzhelev b11593d2d6 find and replace OpenCensus -> OpenTelemetry 2019-05-10 10:30:04 -07:00
Sergey Kanzhelev 0c01f9f0aa copy of OpenCensus at 0474607a16282252697f989113d68bdf71959070 2019-05-08 12:32:06 -07:00
Sergey Kanzhelev cf761ac8fb added some text 2019-05-07 14:29:16 -07:00
Sergey Kanzhelev 51b4b51179
Mostly testing CLA 2019-05-07 14:23:45 -07:00
Sergey Kanzhelev 2636691886 first commit 2019-05-07 14:17:52 -07:00