pool: Support average request time for ListContainerStream
#343
Labels
No labels
P0
P1
P2
P3
good first issue
pool
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
7 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-sdk-go#343
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "elebedeva/frostfs-sdk-go:fix/pool-container-list-stream"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Close #338
Added average request time estimation for
ListContainerStream
.Tested with frostfs-node VSCode debugger. Attached file with code used for testing.
Signed-off-by: Ekaterina Lebedeva ekaterina.lebedeva@yadro.com
8378394ad6
toc9949b6e47
@ -602,0 +606,4 @@
return ResListStream{
r: cnrRdr,
elapsedTimeCallback: func(elapsed time.Duration) {
c.incRequests(elapsed, methodObjectGet)
methodObjectGet
?Fixed 🙈
c9949b6e47
toee6ff031d0
ee6ff031d0
to208dbab7fc
WIP: pool: Support average request time forto pool: Support average request time forListContainerStream
ListContainerStream
@dkirillov could you also take a look, please?
Please, update
MethodIndex.String()
method@ -576,1 +579,3 @@
return x.r.Iterate(f)
start := time.Now()
err := x.r.Iterate(f)
x.elapsedTimeCallback(time.Since(start))
I'm not sure if we can elapse time for all iteration.
Probably something like that be more aligned with
ResListStream.Read
Fixed, thanks!
@ -597,1 +603,3 @@
res, err := cl.ContainerListInit(ctx, cliPrm)
start := time.Now()
cnrRdr, err := cl.ContainerListInit(ctx, cliPrm)
c.incRequests(time.Since(start), methodContainerListStream)
Probably we should not consider this invocation (like for
ObjectGetInit
). But I have no strong opinion on thisWe do estimate elapsed time for
ObjectRangeInit
invocationstart := time.Now()
res, err := cl.ObjectRangeInit(ctx, cliPrm)
c.incRequests(time.Since(start), methodObjectRange)
but, as you mentioned, for
ObjectGetInit
we don't.rObj, err := cl.ObjectGetInit(ctx, cliPrm)
I believe the estimation should be the same for this kind of invocations. Which approach should be used here? @fyrchik
208dbab7fc
to9346bd1f7d
New commits pushed, approval review dismissed automatically according to repository settings
New commits pushed, approval review dismissed automatically according to repository settings
New commits pushed, approval review dismissed automatically according to repository settings
New commits pushed, approval review dismissed automatically according to repository settings
9346bd1f7d
to208b654241
208b654241
toa262a0038f
LGTM