Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DocDB] Allow Traces to use finer MonoClock #11294

Closed
amitanandaiyer opened this issue Jan 31, 2022 · 0 comments
Closed

[DocDB] Allow Traces to use finer MonoClock #11294

amitanandaiyer opened this issue Jan 31, 2022 · 0 comments
Assignees
Labels
area/docdb YugabyteDB core features

Comments

@amitanandaiyer
Copy link
Contributor

Description

Traces use CoarseMonoClock due to perf reasons.

Allow the use of MonoClock if we need a more finer breakdown.

@amitanandaiyer amitanandaiyer added the area/docdb YugabyteDB core features label Jan 31, 2022
@amitanandaiyer amitanandaiyer self-assigned this Jan 31, 2022
amitanandaiyer added a commit that referenced this issue Feb 1, 2022
…better

Summary:
CoarseMonoTime only produces timestamp at a granularity of 1ms, which makes it cheaper to use than MonoTime. However, if we are doing perf experiments we may want a more fine grained break down instead.

```
e.g:

.. 1113 06:14:17.542610 (+     0us) inbound_call.cc:90] Created InboundCall
.. 1113 06:14:17.542610 (+     0us) service_pool.cc:180] Inserting onto call queue
.. 1113 06:14:17.542610 (+     0us) service_pool.cc:261] Handling call Write
.. 1113 06:14:17.542610 (+     0us) tablet_service.cc:1591] Start Write
.. 1113 06:14:17.544610 (+  2000us) tablet.cc:2019] AcquireLocksAndPerformDocOperations
.. 1113 06:14:17.544610 (+     0us) tablet.cc:3776] Acquiring write permit
.. 1113 06:14:17.544610 (+     0us) operation_counter.cc:187] ScopedRWOperation Tablet schema
.. 1113 06:14:17.544610 (+     0us) tablet.cc:3777] Acquiring write permit done
.. 1113 06:14:17.544610 (+     0us) operation_counter.cc:199] Reset null
.. 1113 06:14:17.544610 (+     0us) operation_counter.cc:199] Reset null
.. 1113 06:14:17.544610 (+     0us) operation_counter.cc:187] ScopedRWOperation RocksDB non-abortable read/write operations
.. 1113 06:14:17.544610 (+     0us) operation_counter.cc:199] Reset null
.. 1113 06:14:17.544610 (+     0us) shared_lock_manager.cc:255] Locking a batch of 3 keys
.. 1113 06:14:17.544610 (+     0us) shared_lock_manager.cc:295] Acquired a lock batch of 3 keys
.. 1113 06:14:17.544610 (+     0us) conflict_resolution.cc:966] ResolveTransactionConflicts
.. 1113 06:14:17.545610 (+  1000us) conflict_resolution.cc:266] No conflicts.
.. 1113 06:14:17.545610 (+     0us) running_transaction.cc:210] SendStatusRequest : 52ec72c4-c941-4f40-96ad-3478a3ca0528
.. 1113 06:14:17.545610 (+     0us) operation_counter.cc:199] Reset null
.. 1113 06:14:17.545610 (+     0us) operation_counter.cc:199] Reset RocksDB non-abortable read/write operations
.. 1113 06:14:17.545610 (+     0us) operation_counter.cc:199] Reset Tablet schema
.. 1113 06:14:17.545610 (+     0us) tablet.cc:3599] self->TransactionalConflictsResolved
.. 1113 06:14:17.545610 (+     0us) conflict_resolution.cc:973] resolver->Resolve done
```

This diff introduces a flag for using MonoTime instead of CoarseMonoTime

The default is to still use CoarseMonoTime to avoid any perf degradation.

Test Plan: Jenkins

Reviewers: rsami

Reviewed By: rsami

Subscribers: ybase

Differential Revision: https://phabricator.dev.yugabyte.com/D14481
@bmatican bmatican closed this as completed Feb 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/docdb YugabyteDB core features
Projects
None yet
Development

No branches or pull requests

2 participants