celestiaorg / celestiaorg/celestia-node

feat(share/Getter): extend Getter interface with Name()

Open
#1,668 1 comment 1 reaction 0 assignees View on GitHub
area:shares enhancement
Dominant language
Go
Stars
996
Forks
1.1k
Avg merge
1d 6h
Merged PRs (30d)
34

Description

### Implementation ideas

Currently Getter interface doesn't have any way to reference underlying implementation, besides reflection (ughh). High level Getter could see great benefit of having access to `Name()` method of underlying getters. It could be used for:
- logging errors, will allow to specify which Getter produced an error
- tracing, add attribute to observe specific Getter behaviour
- metrics

Having getters anonymous could become a problem at some point, if we need to debug high level getter.

I suggest simply adding `Name() string` method to Getter, but other approaches could be taken. For example extended interface:

```
type NamedGetter interface{
Name() string
Getter
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.