Skip to content

Commit 835bd1b

Browse files
authored
feat(core): Add tracing spans to transaction storage layer (#8796)
# Description of change Add tracing spans to transaction storage layer. ## Links to any relevant issues Close #8691 ## How the change has been tested - [x] Basic tests (linting, compilation, formatting, unit/integration tests) - [ ] Patch-specific tests (correctness, functionality coverage) - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] I have checked that new and existing unit tests pass locally with my changes
1 parent 071d8e5 commit 835bd1b

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

crates/iota-core/src/execution_cache/passthrough_cache.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,7 @@ impl PassthroughCache {
9191
}
9292

9393
impl ObjectCacheRead for PassthroughCache {
94+
#[instrument(level = "trace", skip_all, fields(package_id))]
9495
fn try_get_package_object(&self, package_id: &ObjectID) -> IotaResult<Option<PackageObject>> {
9596
self.package_cache
9697
.get_package_object(package_id, &*self.store)
@@ -101,10 +102,12 @@ impl ObjectCacheRead for PassthroughCache {
101102
.force_reload_system_packages(system_package_ids.iter().cloned(), self);
102103
}
103104

105+
#[instrument(level = "trace", skip_all, fields(object_id = ?id))]
104106
fn try_get_object(&self, id: &ObjectID) -> IotaResult<Option<Object>> {
105107
self.store.try_get_object(id).map_err(Into::into)
106108
}
107109

110+
#[instrument(level = "trace", skip_all, fields(object_id, version))]
108111
fn try_get_object_by_key(
109112
&self,
110113
object_id: &ObjectID,
@@ -113,13 +116,15 @@ impl ObjectCacheRead for PassthroughCache {
113116
Ok(self.store.try_get_object_by_key(object_id, version)?)
114117
}
115118

119+
#[instrument(level = "trace", skip_all)]
116120
fn try_multi_get_objects_by_key(
117121
&self,
118122
object_keys: &[ObjectKey],
119123
) -> Result<Vec<Option<Object>>, IotaError> {
120124
Ok(self.store.try_multi_get_objects_by_key(object_keys)?)
121125
}
122126

127+
#[instrument(level = "trace", skip_all, fields(object_id, version))]
123128
fn try_object_exists_by_key(
124129
&self,
125130
object_id: &ObjectID,
@@ -128,24 +133,28 @@ impl ObjectCacheRead for PassthroughCache {
128133
self.store.object_exists_by_key(object_id, version)
129134
}
130135

136+
#[instrument(level = "trace", skip_all)]
131137
fn try_multi_object_exists_by_key(&self, object_keys: &[ObjectKey]) -> IotaResult<Vec<bool>> {
132138
self.store.multi_object_exists_by_key(object_keys)
133139
}
134140

141+
#[instrument(level = "trace", skip_all, fields(object_id))]
135142
fn try_get_latest_object_ref_or_tombstone(
136143
&self,
137144
object_id: ObjectID,
138145
) -> IotaResult<Option<ObjectRef>> {
139146
self.store.get_latest_object_ref_or_tombstone(object_id)
140147
}
141148

149+
#[instrument(level = "trace", skip_all, fields(object_id))]
142150
fn try_get_latest_object_or_tombstone(
143151
&self,
144152
object_id: ObjectID,
145153
) -> Result<Option<(ObjectKey, ObjectOrTombstone)>, IotaError> {
146154
self.store.get_latest_object_or_tombstone(object_id)
147155
}
148156

157+
#[instrument(level = "trace", skip_all, fields(object_id, version_bound))]
149158
fn try_find_object_lt_or_eq_version(
150159
&self,
151160
object_id: ObjectID,

crates/iota-core/src/execution_cache/writeback_cache.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1308,6 +1308,7 @@ impl ExecutionCacheCommit for WritebackCache {
13081308
}
13091309

13101310
impl ObjectCacheRead for WritebackCache {
1311+
#[instrument(level="trace", skip_all, fields(package_id=?package_id))]
13111312
fn try_get_package_object(&self, package_id: &ObjectID) -> IotaResult<Option<PackageObject>> {
13121313
self.metrics
13131314
.record_cache_request("package", "package_cache");
@@ -1369,10 +1370,12 @@ impl ObjectCacheRead for WritebackCache {
13691370

13701371
// get_object and variants.
13711372

1373+
#[instrument(level = "trace", skip_all, fields(object_id=?id))]
13721374
fn try_get_object(&self, id: &ObjectID) -> IotaResult<Option<Object>> {
13731375
self.get_object_impl("object_latest", id)
13741376
}
13751377

1378+
#[instrument(level = "trace", skip_all, fields(object_id, version))]
13761379
fn try_get_object_by_key(
13771380
&self,
13781381
object_id: &ObjectID,
@@ -1387,6 +1390,7 @@ impl ObjectCacheRead for WritebackCache {
13871390
}
13881391
}
13891392

1393+
#[instrument(level = "trace", skip_all)]
13901394
fn try_multi_get_objects_by_key(
13911395
&self,
13921396
object_keys: &[ObjectKey],
@@ -1407,6 +1411,7 @@ impl ObjectCacheRead for WritebackCache {
14071411
)
14081412
}
14091413

1414+
#[instrument(level = "trace", skip_all, fields(object_id, version))]
14101415
fn try_object_exists_by_key(
14111416
&self,
14121417
object_id: &ObjectID,
@@ -1421,6 +1426,7 @@ impl ObjectCacheRead for WritebackCache {
14211426
}
14221427
}
14231428

1429+
#[instrument(level = "trace", skip_all)]
14241430
fn try_multi_object_exists_by_key(&self, object_keys: &[ObjectKey]) -> IotaResult<Vec<bool>> {
14251431
try_do_fallback_lookup(
14261432
object_keys,
@@ -1438,6 +1444,7 @@ impl ObjectCacheRead for WritebackCache {
14381444
)
14391445
}
14401446

1447+
#[instrument(level = "trace", skip_all, fields(object_id))]
14411448
fn try_get_latest_object_ref_or_tombstone(
14421449
&self,
14431450
object_id: ObjectID,
@@ -1455,6 +1462,7 @@ impl ObjectCacheRead for WritebackCache {
14551462
}
14561463
}
14571464

1465+
#[instrument(level = "trace", skip_all, fields(object_id))]
14581466
fn try_get_latest_object_or_tombstone(
14591467
&self,
14601468
object_id: ObjectID,
@@ -2055,6 +2063,7 @@ impl TransactionCacheRead for WritebackCache {
20552063
}
20562064

20572065
impl ExecutionCacheWrite for WritebackCache {
2066+
#[instrument(level = "debug", skip_all)]
20582067
fn try_acquire_transaction_locks(
20592068
&self,
20602069
epoch_store: &AuthorityPerEpochStore,

0 commit comments

Comments
 (0)