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

Added client processing time #433

Closed

Conversation

saimedhi
Copy link
Contributor

Description

Introduced a new metric: Client Processing Time.

Client Processing Time: The delta between total request time and service time.

Total Request Time: Defined as the duration between the runner sending a request to the client OpenSearch-py and receiving the response.

Service Time: Represents the interval from the server receiving the request to the server sending the response. Note: There was a discrepancy in the documentation regarding Service Time, and I have clarified my observations in the associated PR.

Issues Resolved

#432

@saimedhi
Copy link
Contributor Author

@dblock, @IanHoang please take a look

Copy link
Member

@dblock dblock left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall this looks clean!

Does the project document these metrics? If not we should add it.

It's unclear to me whether client time includes serialization/deserialization of data. Basically, if I/O and server processing were instant, would client time be the entire duration of a request?

I am not familiar with this codebase and am not a maintainer here, so leaving the PR to others.

@@ -1706,6 +1706,7 @@ def __call__(self):
task.operation.name,
self.summary_stats("throughput", t, op_type),
self.single_latency(t, op_type),
self.single_latency(t, op_type, metric_name="client_processing_time"),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does it make sense to call this client_time? Or does this not include client waiting?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here, client_processing_time is calculated as (total request time - service time). Based on my understanding, it does not include client waiting.

@@ -1995,12 +1998,15 @@ def op_metrics(op_item, key, single_value=False):
def v(self, d, k, default=None):
return d.get(k, default) if d else default

def add_op_metrics(self, task, operation, throughput, latency, service_time, processing_time, error_rate, duration, meta):
def add_op_metrics(self, task, operation, throughput, latency,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ripe for refactoring into an object passed around called Metrics. For a future/separate PR.


processing_end = time.perf_counter()
service_time = request_end - request_start
client_processing_time = (client_request_end - client_request_start)-service_time
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add some spaces around -. Open an issue to add a formatter/linter.

@saimedhi
Copy link
Contributor Author

saimedhi commented Jan 3, 2024

Overall this looks clean!

Does the project document these metrics? If not we should add it.

It's unclear to me whether client time includes serialization/deserialization of data. Basically, if I/O and server processing were instant, would client time be the entire duration of a request?

I am not familiar with this codebase and am not a maintainer here, so leaving the PR to others.

Documentation is not available in the opensearch-benchmark repo but can be found on the opensearch documentation website: OpenSearch Benchmark User Guide.

@saimedhi
Copy link
Contributor Author

saimedhi commented Jan 5, 2024

@gkamat, @IanHoang As we discussed I am posting (client processing time calculated in this PR) vs (Diff of Existing processing time and service time metrics). And also calculated % difference among both client processing time calculations. It is around 10%.

Here diff % implies 
((Existing processing_time - Existing service_time) - client_processing_time calculated in PR)* 100 /client_processing_time calculated in PR

opensearch-benchmark execute-test —distribution-version=2.11.1 —workload=geonames —test-mode —kill-running-processes 



 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0012570830000004918
 Existing processing_time metrics - service_time metrics 0.0014195410000006348
 diff % 12.923410785133475
Running delete-index [100% done]
Running create-index [ 0% done] ---------------------------------------------------
 client_processing_time calculated in this PR 0.000563751000001389
 Existing processing_time metrics - service_time metrics 0.0006040830000006991
 diff % 7.154222342702854
Running create-index [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0006698749999998199
 Existing processing_time metrics - service_time metrics 0.0007039590000008644
 diff % 5.088113454159905
Running check-cluster-health [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.000597126000000614
 Existing processing_time metrics - service_time metrics 0.0006300829999990043
 diff % 5.519270639422235
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0016065429999994052
 Existing processing_time metrics - service_time metrics 0.0017303760000011437
 diff % 7.708041428196091
 ---------------------------------------------------
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.001626123999999507
 Existing processing_time metrics - service_time metrics 0.0017548749999996005
 diff % 7.917661875732268
 client_processing_time calculated in this PR 0.0016931250000009612
 Existing processing_time metrics - service_time metrics 0.0018185000000006113
 diff % 7.404946474689045
 ---------------------------------------------------
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0015062500000002643
 Existing processing_time metrics - service_time metrics 0.0016183329999996943
 ---------------------------------------------------
 diff % 7.441195020707736
 client_processing_time calculated in this PR 0.0019424580000002578
 Existing processing_time metrics - service_time metrics 0.0020879159999989128
 diff % 7.488347238325649
 client_processing_time calculated in this PR 0.0018434589999980489
 Existing processing_time metrics - service_time metrics 0.0019919169999980113
 diff % 8.053230367484147
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.001723583000000417
 Existing processing_time metrics - service_time metrics 0.0018457500000010896
 diff % 7.087967333203155
Running index-append [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00042695899999856124
 Existing processing_time metrics - service_time metrics 0.0005148339999987428
 diff % 20.581601512200862
Running refresh-after-index [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0007199169999996258
 Existing processing_time metrics - service_time metrics 0.000784791999999257
 diff % 9.011455487183234
Running force-merge [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0006838330000000781
 Existing processing_time metrics - service_time metrics 0.0007256249999993969
 diff % 6.111433639399392
Running refresh-after-force-merge [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0018631259999999372
 Existing processing_time metrics - service_time metrics 0.0019021249999990886
 diff % 2.0932024994097373
Running wait-until-merges-finish [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0020389590000000624
 Existing processing_time metrics - service_time metrics 0.00207754300000218
 diff % 1.8923381981744807
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0012537500000018298
 Existing processing_time metrics - service_time metrics 0.0012755420000001294
 diff % 1.7381455631719092
Running index-stats [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0008729179999988901
 Existing processing_time metrics - service_time metrics 0.0009132089999983606
 diff % 4.615668367420735
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0005807079999993192
 Existing processing_time metrics - service_time metrics 0.0006042920000002283
 diff % 4.0612493716182225
Running node-stats [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00049341699999772
 Existing processing_time metrics - service_time metrics 0.0005578749999983756
 diff % 13.063595295855928
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0002196669999996459
 Existing processing_time metrics - service_time metrics 0.0002425419999987355
 diff % 10.413489508722963
Running default [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00042962500000243153
 Existing processing_time metrics - service_time metrics 0.0004680420000013896
 diff % 8.941984288330675
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00023487500000030082
 Existing processing_time metrics - service_time metrics 0.0002675419999995654
 diff % 13.908249068322618
Running term [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00039741599999842947
 Existing processing_time metrics - service_time metrics 0.00043162500000093473
 diff % 8.607856755299347
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00022483399999728704
 Existing processing_time metrics - service_time metrics 0.0002489580000002434
 diff % 10.72969390894946
Running phrase [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0004007500000007269
 Existing processing_time metrics - service_time metrics 0.0004367500000022062
 diff % 8.983156581762694
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00022145900000225538
 Existing processing_time metrics - service_time metrics 0.0002437080000028402
 diff % 10.046554892941014
Running country_agg_uncached [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0007057090000017752
 Existing processing_time metrics - service_time metrics 0.0007435830000019905
 diff % 5.36680133031038
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00023820899999904555
 Existing processing_time metrics - service_time metrics 0.0002597499999943409
 diff % 9.042899300774389
Running country_agg_cached [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0006731660000021122
 Existing processing_time metrics - service_time metrics 0.0007117490000005944
 diff % 5.731572895595005
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00037904200000227206
 Existing processing_time metrics - service_time metrics 0.000405750000002314
 diff % 7.046184855472963
Running scroll [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00045633300000247345
 Existing processing_time metrics - service_time metrics 0.0004926660000030836
 diff % 7.961948840082394
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00025591599999685855
 Existing processing_time metrics - service_time metrics 0.00028291599999974437
 diff % 10.55033683052926
Running expression [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.000727457999996517
 Existing processing_time metrics - service_time metrics 0.0007704989999979261
 diff % 5.9166302386688
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0001858339999998293
 Existing processing_time metrics - service_time metrics 0.00020566699999946536
 diff % 10.672428080789455
Running painless_static [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0004233329999969726
 Existing processing_time metrics - service_time metrics 0.000458498999996948
 diff % 8.306935674806091
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00021862499999869556
 Existing processing_time metrics - service_time metrics 0.00024262499999849751
 diff % 10.977701543714193
Running painless_dynamic [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0004427090000014289
 Existing processing_time metrics - service_time metrics 0.0004828749999994386
 diff % 9.072776925221783
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00024774899999968625
 Existing processing_time metrics - service_time metrics 0.0002715410000000418
 diff % 9.603267823638303
Running decay_geo_gauss_function_score [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.000735248999998106
 Existing processing_time metrics - service_time metrics 0.0007757909999988044
 diff % 5.514050342238186
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0002234170000008362
 Existing processing_time metrics - service_time metrics 0.0002470830000049773
 diff % 10.592748091708563
Running decay_geo_gauss_script_score [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00038491700000164997
 Existing processing_time metrics - service_time metrics 0.00041779100000383096
 diff % 8.540542507096355
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00022450000000162618
 Existing processing_time metrics - service_time metrics 0.0002478750000030061
 diff % 10.412026726597155
Running field_value_function_score [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0004282500000059031
 Existing processing_time metrics - service_time metrics 0.0004650000000054888
 diff % 8.581436076842769
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00022012499999846113
 Existing processing_time metrics - service_time metrics 0.00024274999999818192
 diff % 10.27825099369856
Running field_value_script_score [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.01213899999999768
 Existing processing_time metrics - service_time metrics 0.01217312500000034
 diff % 0.28111870831754693
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.006813791999999097
 Existing processing_time metrics - service_time metrics 0.006838999999999373
 diff % 0.36995552550297517
Running large_terms [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0088404990000015
 Existing processing_time metrics - service_time metrics 0.008867708000000363
 diff % 0.3077767442636175
Running large_filtered_terms [ 0% done] ---------------------------------------------------
 client_processing_time calculated in this PR 0.006081748999999803
 Existing processing_time metrics - service_time metrics 0.006107373999995502
 diff % 0.42134261041848414
Running large_filtered_terms [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.010975959000003144
 Existing processing_time metrics - service_time metrics 0.011008501000002724
 diff % 0.29648434364205317
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0063539590000019075
 Existing processing_time metrics - service_time metrics 0.006377916999998234
 diff % 0.3770562573085484
Running large_prohibited_terms [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0004543749999967872
 Existing processing_time metrics - service_time metrics 0.0004954579999996156
 diff % 9.041650619668529
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00022283399999878384
 Existing processing_time metrics - service_time metrics 0.00024625100000008615
 diff % 10.508719495871418
Running desc_sort_population [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00045245800000159875
 Existing processing_time metrics - service_time metrics 0.0004925839999998516
 diff % 8.868447457689124
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00027566700000392075
 Existing processing_time metrics - service_time metrics 0.00030720800000239024
 diff % 11.441703213667536
Running asc_sort_population [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00045324999999962756
 Existing processing_time metrics - service_time metrics 0.0004979589999969392
 diff % 9.86409266350763
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00025691699999796924
 Existing processing_time metrics - service_time metrics 0.00028633399999833387
 diff % 11.4500013625401
Running asc_sort_with_after_population [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0006137910000028057
 Existing processing_time metrics - service_time metrics 0.0006468750000045986
 diff % 5.390108359627572
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0001998329999999271
 Existing processing_time metrics - service_time metrics 0.00022104200000327978
 diff % 10.613362159083046
Running desc_sort_geonameid [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00038987599999629197
 Existing processing_time metrics - service_time metrics 0.0004239589999990301
 diff % 8.742010280977098
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.000246125000000319
 Existing processing_time metrics - service_time metrics 0.0002739160000011509
 diff % 11.291416963248707
Running desc_sort_with_after_geonameid [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0004324159999988808
 Existing processing_time metrics - service_time metrics 0.00046895899999910284
 diff % 8.450889883888806
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00021762599999775034
 Existing processing_time metrics - service_time metrics 0.000239041999996914
 diff % 9.840735941195005
Running asc_sort_geonameid [100% done]
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.0006720830000013223
 Existing processing_time metrics - service_time metrics 0.0007335829999988164
 diff % 9.150655499004307
 ---------------------------------------------------
 client_processing_time calculated in this PR 0.00022400000000288856
 Existing processing_time metrics - service_time metrics 0.00024679200000221613
 diff % 10.174999999568598
Running asc_sort_with_after_geonameid [100% done]
 ---------------------------------------------------


@IanHoang
Copy link
Collaborator

IanHoang commented Jan 5, 2024

@gkamat, @IanHoang As we discussed I am posting (client processing time calculated in this PR) vs (Diff of Existing processing time and service time metrics). And also calculated % difference among both client processing time calculations. It is around 10%.

Based on this data, OSB's calculations are always higher than the requests context. Do you see similarities (where OSB's client processing time has 10% diff compared to these changes) when you run with http-logs and nyc_taxis (more commonly run workloads and workloads used for nightly runs)?

@saimedhi
Copy link
Contributor Author

saimedhi commented Jan 5, 2024

@gkamat, @IanHoang As we discussed I am posting (client processing time calculated in this PR) vs (Diff of Existing processing time and service time metrics). And also calculated % difference among both client processing time calculations. It is around 10%.

Based on this data, OSB's calculations are always higher than the requests context. Do you see similarities (where OSB's client processing time has 10% diff compared to these changes) when you run with http-logs and nyc_taxis (more commonly run workloads and workloads used for nightly runs)?

workload: http_logs

opensearch-benchmark execute-test --distribution-version=2.11.1 --workload=http_logs --test-mode --kill-running-processes

 
[INFO] Preparing for test execution ...
[INFO] Executing test with workload [http_logs], test_procedure [append-no-conflicts] and provision_config_instance ['defaults'] with version [2.11.1].


  client_processing_time calculated in this PR     0.0012103329999995083
  Existing processing_time metrics - service_time metrics     0.001390791000000391
  diff %      14.909781027283891
Running delete-index                                                           [100% done]
Running create-index                                                           [  0% done]  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006223749999971773
  Existing processing_time metrics - service_time metrics     0.0006692089999980055
  diff %      7.525045189964359
Running create-index                                                           [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.001213500000002199
  Existing processing_time metrics - service_time metrics     0.0012600000000020373
  diff %      3.8318912237127383
Running check-cluster-health                                                   [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006567909999972699
  Existing processing_time metrics - service_time metrics     0.0006986660000016798
  diff %      6.3756963789978816
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.001509708000000387
  Existing processing_time metrics - service_time metrics     0.0016185819999989803
  diff %      7.211593235153113
  ---------------------------------------------------
  ---------------------------------------------------
  ---------------------------------------------------
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0017670420000044373
  client_processing_time calculated in this PR     0.0015217910000018264
  Existing processing_time metrics - service_time metrics     0.0018912919999998223
  client_processing_time calculated in this PR     0.0016650819999988187
  Existing processing_time metrics - service_time metrics     0.0016508330000029048
  diff %      7.031525000258793
  Existing processing_time metrics - service_time metrics     0.0017885830000032854
  diff %      8.479613823509501
  client_processing_time calculated in this PR     0.002552874999999233
  diff %      7.417112190544031
  Existing processing_time metrics - service_time metrics     0.002690125000000876
  ---------------------------------------------------
  diff %      5.376291436191911
  client_processing_time calculated in this PR     0.0020230830000009803
  Existing processing_time metrics - service_time metrics     0.0021645420000027116
  diff %      6.992248958726001
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.002333583999998723
  Existing processing_time metrics - service_time metrics     0.0024528339999996263
  diff %      5.110165307996996
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00028287599999643476
  Existing processing_time metrics - service_time metrics     0.00031266699999576986
  diff %      10.531469619094787
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0007559169999993287
  Existing processing_time metrics - service_time metrics     0.0007868749999992986
  diff %      4.095423174766189
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002854580000004603
  Existing processing_time metrics - service_time metrics     0.00031345799999726864
  diff %      9.80879849111365
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003817069999989542
  Existing processing_time metrics - service_time metrics     0.0004149159999968788
  diff %      8.700128632174831
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00033941600000275685
  Existing processing_time metrics - service_time metrics     0.0003683750000007535
  diff %      8.532007918825705
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.000355541999997655
  Existing processing_time metrics - service_time metrics     0.00038575099999604845
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003389580000003889
  diff %      8.496605182676781
  Existing processing_time metrics - service_time metrics     0.00036816600000122435
  diff %      8.61699679629982
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00038237499999738134
  Existing processing_time metrics - service_time metrics     0.00041662499999972624
  diff %      8.957175548239153
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00034695899999803714
  Existing processing_time metrics - service_time metrics     0.00037912499999848137
  diff %      9.270836035562185
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.000337582999996755
  Existing processing_time metrics - service_time metrics     0.000367665999998934
  diff %      8.911289964976962
  ---------------------------------------------------
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00032737499999768715
  client_processing_time calculated in this PR     0.0004100829999984512
  Existing processing_time metrics - service_time metrics     0.00035562499999741704
  Existing processing_time metrics - service_time metrics     0.000440874999998897
  diff %      8.62924780448399
  diff %      7.508723843846756
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002850840000014898
  Existing processing_time metrics - service_time metrics     0.00031408400000287884
  diff %      10.172440403964261
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003556239999973343
  Existing processing_time metrics - service_time metrics     0.0003853330000005428
  diff %      8.354048096706416
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00031695799999909013
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003111249999996346
  Existing processing_time metrics - service_time metrics     0.00033633299999991095
  Existing processing_time metrics - service_time metrics     0.0003443330000010292
  diff %      8.10220972287857
  diff %      8.636790995026983
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003246249999975248
  Existing processing_time metrics - service_time metrics     0.00035079099999890673
  diff %      8.060377358977721
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00031170800000168697
  Existing processing_time metrics - service_time metrics     0.0003352079999991986
  diff %      7.539107112228252
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002850839999979371
  Existing processing_time metrics - service_time metrics     0.00031187499999774104
  diff %      9.397581063826033
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00039345800000134545
  Existing processing_time metrics - service_time metrics     0.0004319160000001432
  diff %      9.774359651771274
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003263750000037646
  Existing processing_time metrics - service_time metrics     0.0003506250000029354
  diff %      7.430103408315911
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002852080000010915
  Existing processing_time metrics - service_time metrics     0.0003097919999994758
  diff %      8.61967406183917
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002727920000005213
  Existing processing_time metrics - service_time metrics     0.00029745900000222036
  diff %      9.042420599450109
  ---------------------------------------------------
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00042512600000321754
  client_processing_time calculated in this PR     0.0004141249999989327
  Existing processing_time metrics - service_time metrics     0.00044941700000222795
  Existing processing_time metrics - service_time metrics     0.00043920799999952465
  diff %      5.713835427338381
  diff %      6.05686688817545
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00031549999999924694
  Existing processing_time metrics - service_time metrics     0.00034383299999873884
  diff %      8.980348652792244
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002950830000010285
  Existing processing_time metrics - service_time metrics     0.0003200829999983057
  diff %      8.472192568595975
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002864160000051186
  Existing processing_time metrics - service_time metrics     0.0003176660000008269
  diff %      10.910703310970703
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003281249999993463
  Existing processing_time metrics - service_time metrics     0.0003630409999999529
  diff %      10.641066666872726
  ---------------------------------------------------
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003535420000027045
  Existing processing_time metrics - service_time metrics     0.00038450000000267437
  client_processing_time calculated in this PR     0.0003559590000001833
  diff %      8.756526805791962
  Existing processing_time metrics - service_time metrics     0.0003876669999982596
  diff %      8.907767467056583
  ---------------------------------------------------
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002915409999992846
  client_processing_time calculated in this PR     0.0002769169999972121
  Existing processing_time metrics - service_time metrics     0.0003170839999988573
  Existing processing_time metrics - service_time metrics     0.0003034579999976472
  diff %      8.761374900832244
  diff %      9.584460325910774
  ---------------------------------------------------
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00028312499999927354
  client_processing_time calculated in this PR     0.00026504100000224184
  Existing processing_time metrics - service_time metrics     0.0003096249999963163
  Existing processing_time metrics - service_time metrics     0.0002921250000014197
  diff %      9.35982339853802
  diff %      10.218796336773853
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00032354200000028754
  Existing processing_time metrics - service_time metrics     0.000353833000001913
  diff %      9.362308448856258
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004154999999990139
  Existing processing_time metrics - service_time metrics     0.00044041699999652906
  diff %      5.996871238886718
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00030362399999717127
  Existing processing_time metrics - service_time metrics     0.0003334160000001418
  diff %      9.812136064095101
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003436670000027675
  Existing processing_time metrics - service_time metrics     0.0003705839999987859
  diff %      7.832291141075988
Running index-append                                                           [ 36% done]  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00028029099999926643
  Existing processing_time metrics - service_time metrics     0.0003049580000009655
  diff %      8.800496627349304
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002691669999990154
  Existing processing_time metrics - service_time metrics     0.00029487499999802935
  diff %      9.550947924191302
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003185829999985401
  Existing processing_time metrics - service_time metrics     0.00034620799999629526
  diff %      8.671209699789923
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003470000000014295
  Existing processing_time metrics - service_time metrics     0.0003836669999977005
  diff %      10.566858788507187
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0005572080000000312
  Existing processing_time metrics - service_time metrics     0.0005880420000003994
  diff %      5.533660679740142
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00028591599999927553
  Existing processing_time metrics - service_time metrics     0.0003147500000011405
  diff %      10.084780145895312
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003103750000015282
  Existing processing_time metrics - service_time metrics     0.0003409580000024448
  diff %      9.853564237057123
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00030516600000041194
  Existing processing_time metrics - service_time metrics     0.00033370800000298573
  diff %      9.352942333856085
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003480009999989875
  Existing processing_time metrics - service_time metrics     0.00037600099999934855
  diff %      8.04595389106426
Running index-append                                                           [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00032675000000281784
  Existing processing_time metrics - service_time metrics     0.0003530420000004142
  diff %      8.04651874441304
Running refresh-after-index                                                    [100% done]
Running force-merge                                                            [  0% done]  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0008547910000018533
  Existing processing_time metrics - service_time metrics     0.0009025419999986184
  diff %      5.5862778148882715
Running force-merge                                                            [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003718329999990999
  Existing processing_time metrics - service_time metrics     0.00040124999999946453
  diff %      7.911347298501164
Running refresh-after-force-merge                                              [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0023146660000001873
  Existing processing_time metrics - service_time metrics     0.0023540830000001733
  diff %      1.7029238775695006
Running wait-until-merges-finish                                               [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00044875000000033083
  Existing processing_time metrics - service_time metrics     0.0005061250000011341
  diff %      12.785515320503848
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002265829999998914
  Existing processing_time metrics - service_time metrics     0.00025137499999772217
  diff %      10.941685827199152
Running default                                                                [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006644169999994176
  Existing processing_time metrics - service_time metrics     0.0007012499999952126
  diff %      5.543657070157344
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004191680000005249
  Existing processing_time metrics - service_time metrics     0.0004496259999982044
  diff %      7.266298953555941
Running term                                                                   [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0007867079999996918
  Existing processing_time metrics - service_time metrics     0.0008207910000024299
  diff %      4.332357113789548
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003913339999996879
  Existing processing_time metrics - service_time metrics     0.000417333000001463
  diff %      6.643685445628508
Running range                                                                  [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006489169999994715
  Existing processing_time metrics - service_time metrics     0.0006842499999990537
  diff %      5.444918225229259
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004212499999987074
  Existing processing_time metrics - service_time metrics     0.00044683299999803694
  diff %      6.073115726862448
Running 200s-in-range                                                          [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006431249999998556
  Existing processing_time metrics - service_time metrics     0.0006777080000013314
  diff %      5.377337220833198
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00035816699999813295
  Existing processing_time metrics - service_time metrics     0.0003812080000002993
  diff %      6.433032636252492
Running 400s-in-range                                                          [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006261250000001439
  Existing processing_time metrics - service_time metrics     0.0006644159999993349
  diff %      6.115552006257879
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00022474999999744227
  Existing processing_time metrics - service_time metrics     0.0002496249999985878
  diff %      11.067853170824735
Running hourly_agg                                                             [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004232080000008409
  Existing processing_time metrics - service_time metrics     0.0004602919999996402
  diff %      8.762594279580162
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002507490000027701
  Existing processing_time metrics - service_time metrics     0.000278375000000608
  diff %      11.01739189290194
Running multi_term_agg                                                         [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006680419999973708
  Existing processing_time metrics - service_time metrics     0.0007003329999974994
  diff %      4.833678122072523
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002593749999988404
  Existing processing_time metrics - service_time metrics     0.0002811670000006927
  diff %      8.40173494051075
Running scroll                                                                 [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.000457208000003817
  Existing processing_time metrics - service_time metrics     0.0005091250000006653
  diff %      11.355225629563538
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00022058400000091183
  Existing processing_time metrics - service_time metrics     0.0002452090000026885
  diff %      11.163547674207969
Running desc_sort_size                                                         [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004462499999995373
  Existing processing_time metrics - service_time metrics     0.00048204200000157016
  diff %      8.02061624696246
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002386670000014135
  Existing processing_time metrics - service_time metrics     0.00026512600000216935
  diff %      11.086157701148105
Running asc_sort_size                                                          [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004477909999991425
  Existing processing_time metrics - service_time metrics     0.00048454099999872824
  diff %      8.20695369037254
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00023691599999864366
  Existing processing_time metrics - service_time metrics     0.0002647079999995583
  diff %      11.730740009570376
Running desc_sort_timestamp                                                    [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00045445800000365466
  Existing processing_time metrics - service_time metrics     0.000492250000000638
  diff %      8.315839966879103
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00016749999999987608
  Existing processing_time metrics - service_time metrics     0.00018574999999998454
  diff %      10.895522388132513
Running asc_sort_timestamp                                                     [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004708749999977613
  Existing processing_time metrics - service_time metrics     0.0005115829999979837
  diff %      8.645181842403185
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002169579999993232
  Existing processing_time metrics - service_time metrics     0.00024079099999951836
  diff %      10.985075452515932
Running desc_sort_with_after_timestamp                                         [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00047375000000116074
  Existing processing_time metrics - service_time metrics     0.000511834000000988
  diff %      8.038839050075767
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00023745799999730366
  Existing processing_time metrics - service_time metrics     0.0002592079999992336
  diff %      9.159514525590597
Running asc_sort_with_after_timestamp                                          [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0005957920000021488
  Existing processing_time metrics - service_time metrics     0.0006295419999986507
  diff %      5.664728629518377
Running force-merge-1-seg                                                      [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004839580000037813
  Existing processing_time metrics - service_time metrics     0.0005256240000015566
  diff %      8.609424784268422
Running refresh-after-force-merge-1-seg                                        [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0017398329999984696
  Existing processing_time metrics - service_time metrics     0.0017752499999978966
  diff %      2.0356551461811616
Running wait-until-merges-1-seg-finish                                         [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004742489999962629
  Existing processing_time metrics - service_time metrics     0.0005134170000005156
  diff %      8.258952576507559
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00025920899999931635
  Existing processing_time metrics - service_time metrics     0.0002849169999983303
  diff %      9.91786550585889
Running desc-sort-timestamp-after-force-merge-1-seg                            [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003999579999991454
  Existing processing_time metrics - service_time metrics     0.0004329999999974632
  diff %      8.261367443178637
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00024941699999914135
  Existing processing_time metrics - service_time metrics     0.00027829100000076323
  diff %      11.576596624015718
Running asc-sort-timestamp-after-force-merge-1-seg                             [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.000671084000000377
  Existing processing_time metrics - service_time metrics     0.0007053759999990916
  diff %      5.109941527244772
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00023641699999998878
  Existing processing_time metrics - service_time metrics     0.0002649170000026402
  diff %      12.054970667360113
Running desc-sort-with-after-timestamp-after-force-merge-1-seg                 [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0003972920000023805
  Existing processing_time metrics - service_time metrics     0.00043054200000369747
  diff %      8.369159208118392
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00021637500000082355
  Existing processing_time metrics - service_time metrics     0.00023875000000117552
  diff %      10.340843443219786
Running asc-sort-with-after-timestamp-after-force-merge-1-seg                  [100% done]

------------------------------------------------------

@saimedhi
Copy link
Contributor Author

saimedhi commented Jan 5, 2024

workload:nyc_taxis

opensearch-benchmark execute-test --distribution-version=2.11.1 --workload=nyc_taxis --test-mode --kill-running-processes
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0017491670000016057
  Existing processing_time metrics - service_time metrics     0.0018470830000012484
  diff %      5.597864583516196
Running delete-index                                                           [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.000638290999999569
  Existing processing_time metrics - service_time metrics     0.0006769159999979735
  diff %      6.051315152247267
Running create-index                                                           [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0008137919999988696
  Existing processing_time metrics - service_time metrics     0.000847874999998055
  diff %      4.188170933018848
Running check-cluster-health                                                   [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0014293330000025861
  Existing processing_time metrics - service_time metrics     0.00158670800000138
  diff %      11.010380366122462
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006035830000001852
  Existing processing_time metrics - service_time metrics     0.0006454580000010424
  diff %      6.937736815126396
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0012685000000001168
  Existing processing_time metrics - service_time metrics     0.001383750000000461
  diff %      9.085534095414555
  ---------------------------------------------------
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.002585875000001181
  Existing processing_time metrics - service_time metrics     0.002713541000000319
  client_processing_time calculated in this PR     0.004210541999999151
  Existing processing_time metrics - service_time metrics     0.004340457999999714
  diff %      3.0854935065506766
  diff %      4.9370522550038105
  ---------------------------------------------------
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0033242499999985853
  client_processing_time calculated in this PR     0.0032635409999990372
  Existing processing_time metrics - service_time metrics     0.003435541999998293
  diff %      3.347882981116188
  Existing processing_time metrics - service_time metrics     0.0033954999999998847
  diff %      4.0434301269966095
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.003527874999999625
  Existing processing_time metrics - service_time metrics     0.003759499000000943
  diff %      6.565538745033277
Running index                                                                  [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00041387399999948116
  Existing processing_time metrics - service_time metrics     0.0004496239999998153
  diff %      8.63789462502572
Running refresh-after-index                                                    [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0005460010000000182
  Existing processing_time metrics - service_time metrics     0.0005892509999991802
  diff %      7.921230913342755
Running force-merge                                                            [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.000451749999999862
  Existing processing_time metrics - service_time metrics     0.0005039590000013305
  diff %      11.557055894075154
Running refresh-after-force-merge                                              [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0024999169999997406
  Existing processing_time metrics - service_time metrics     0.002545708999997842
  diff %      1.8317408137192686
Running wait-until-merges-finish                                               [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00040108299999985775
  Existing processing_time metrics - service_time metrics     0.00043991599999948505
  diff %      9.682035887744203
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00020679199999840137
  Existing processing_time metrics - service_time metrics     0.00022712500000032776
  diff %      9.832585400829617
Running default                                                                [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00044612500000162925
  Existing processing_time metrics - service_time metrics     0.00048354099999947664
  diff %      8.386887082703446
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002014170000013138
  Existing processing_time metrics - service_time metrics     0.00022429200000217975
  diff %      11.357035404517367
Running range                                                                  [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.000691292000002619
  Existing processing_time metrics - service_time metrics     0.0007307920000023671
  diff %      5.713938538215171
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00022333300000099143
  Existing processing_time metrics - service_time metrics     0.0002458330000010278
  diff %      10.074641902422167
Running distance_amount_agg                                                    [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0004651670000015429
  Existing processing_time metrics - service_time metrics     0.0005076250000008997
  diff %      9.127474648721002
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00023824899999880245
  Existing processing_time metrics - service_time metrics     0.00026141599999718323
  diff %      9.723860330367488
Running autohisto_agg                                                          [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00045191699999946877
  Existing processing_time metrics - service_time metrics     0.0004907500000008724
  diff %      8.592949590621576
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00026687600000130374
  Existing processing_time metrics - service_time metrics     0.00029945900000072356
  diff %      12.209040902614193
Running date_histogram_agg                                                     [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0006047069999972621
  Existing processing_time metrics - service_time metrics     0.0006421659999951146
  diff %      6.194570262626713
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002900419999996018
  Existing processing_time metrics - service_time metrics     0.00031408400000287884
  diff %      8.289144331962289
Running desc_sort_tip_amount                                                   [100% done]
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.00043220700000290435
  Existing processing_time metrics - service_time metrics     0.0004701239999995721
  diff %      8.772879660998772
  ---------------------------------------------------
  client_processing_time calculated in this PR     0.0002718339999994157
  Existing processing_time metrics - service_time metrics     0.00030145899999922676
  diff %      10.898195222037982
Running asc_sort_tip_amount                                                    [100% done]
  ---------------------------------------------------

@gkamat
Copy link
Collaborator

gkamat commented Jan 5, 2024

@saimedhi this is useful data. We will carry out some additional runs, and if the magnitude of the difference is consistently more than 7% or so as your runs seem to indicate, we'll look into changing the processing time computation to measure client processing time instead. There is likely no need to have two entries for similar metrics.

@dblock
Copy link
Member

dblock commented Jan 9, 2024

@gkamat Are you planning to merge this? What remains to be done to get these metrics in?

@IanHoang
Copy link
Collaborator

IanHoang commented Jan 9, 2024

@gkamat Are you planning to merge this? What remains to be done to get these metrics in?

@dblock To provide some context: In our discussion with @saimedhi last week, we discovered another approach where "client processing time" can be derived by using existing data captured by OSB (as shown as follows) without introducing all the changes proposed by this PR:

# Found in worker_coordinator.py
processing_start = time.perf_counter()
                self.schedule_handle.before_request(processing_start)
                async with self.opensearch["default"].new_request_context() as request_context:
                    total_ops, total_ops_unit, request_meta_data = await execute_single(runner, self.opensearch, params, self.on_error)
                    request_start = request_context.request_start
                    request_end = request_context.request_end

                processing_end = time.perf_counter()
                service_time = request_end - request_start
                processing_time = processing_end - processing_start
                # To get client processing time, we just need to calculate the following:
                client_processing_time = processing_time - service_time 

To see if there's a difference between OSB's approach and Sai's approach from this PR, we asked Sai to perform a few runs to determine if there are any differences in client_processing_time. Based on her runs, it seems that client_processing_time derived from OSB's approach is almost always ~7% higher than client_processing_time produced by Sai's approach.

Before we can merge this in, we'd like to run some additional tests this week to determine if we can replicate those differences across all workloads and testing setups. If we can reproduce Sai's numbers and decide to opt for those, it might be better to remove processing_time to avoid confusion since they're so similar.

@wbeckler
Copy link

Isn't it useful to isolate client processing time, server processing time, and network delays, as three separate numbers?

@dblock
Copy link
Member

dblock commented Jan 11, 2024

Before we can merge this in, we'd like to run some additional tests this week to determine if we can replicate those differences across all workloads and testing setups. If we can reproduce Sai's numbers and decide to opt for those, it might be better to remove processing_time to avoid confusion since they're so similar.

Yes. I am after metrics that support claims in issues such as opensearch-project/opensearch-py#446.

Copy link

@VachaShah VachaShah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am late to this but a few questions/comments:

  1. This PR is about client processing time, are we also targeting to publish metrics for various operations like bulk, search etc. from client side? This will help in catching bottlenecks for different APIs if they are happening from the client side.
  2. Are we making it a standard to add these metrics in opensearch-benchmark or are we still debating if they can be added in the client vs in opensearch-benchmark?

@gkamat
Copy link
Collaborator

gkamat commented Jan 17, 2024

We have been delayed in reviewing this PR due to OSB 1.2.0 release activities, but should have updates later this week.

@VachaShah, OSB already publishes latency and service time metrics to the metrics data store and the standard output for each operation like bulk and query, see sample output in https://opensearch.org/docs/latest/benchmark/quickstart. All this data is from the client (OSB) side.

This PR relates only to exposing the fraction of the latency numbers that are expended in the backend client being used (currently this is opensearch-py, but we will have other clients supported in the future.)

Another aspect is exposing server processing time, which will be addressed as a separate issue and PR.

@saimedhi
Copy link
Contributor Author

@gkamat, following our discussion, I'm closing this PR and opened PR #450 incorporating the suggested changes.

@saimedhi saimedhi closed this Jan 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants