Skip to content

Commit 543fadb

Browse files
committed
with thread id
1 parent 749cf56 commit 543fadb

File tree

4 files changed

+10
-11
lines changed

4 files changed

+10
-11
lines changed

include/aws/s3/private/s3_meta_request_impl.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include <aws/common/mutex.h>
1313
#include <aws/common/ref_count.h>
1414
#include <aws/common/task_scheduler.h>
15+
#include <aws/common/thread.h>
1516
#include <aws/http/request_response.h>
1617

1718
#include "aws/s3/private/s3_checksums.h"
@@ -129,6 +130,7 @@ struct s3_data_read_metrics {
129130
uint64_t size;
130131
uint64_t start_timestamp;
131132
uint64_t end_timestamp;
133+
aws_thread_id_t thread_id;
132134
};
133135

134136
/**

source/s3_auto_ranged_put.c

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1033,26 +1033,23 @@ struct aws_future_http_message *s_s3_prepare_upload_part(struct aws_s3_request *
10331033
/* write every read metric to a file */
10341034
if (metrics_file) {
10351035
// Write CSV header
1036-
fprintf(metrics_file, "index,offset,size,start_timestamp,end_timestamp,duration_ns,throughput_mbps\n");
1036+
fprintf(metrics_file, "index,offset,size,start_timestamp,duration_ns,threadid\n");
10371037
// Write all metrics
10381038
for (size_t j = 0; j < metric_length; j++) {
10391039
struct s3_data_read_metrics m;
10401040
aws_array_list_get_at(&meta_request->read_metrics_list, &m, j);
10411041

10421042
uint64_t duration = m.end_timestamp - m.start_timestamp;
1043-
double throughput_mbps =
1044-
duration > 0 ? (double)(m.size * 8) / (duration / 1000.0) / 1000000.0 : 0.0;
10451043

10461044
fprintf(
10471045
metrics_file,
1048-
"%zu,%llu,%llu,%llu,%llu,%llu,%.2f\n",
1046+
"%zu,%llu,%llu,%llu,%llu,%zu\n",
10491047
j,
10501048
(unsigned long long)m.offset,
10511049
(unsigned long long)m.size,
10521050
(unsigned long long)m.start_timestamp,
1053-
(unsigned long long)m.end_timestamp,
10541051
(unsigned long long)duration,
1055-
throughput_mbps);
1052+
(size_t)m.thread_id);
10561053
}
10571054
aws_array_list_clear(&meta_request->read_metrics_list);
10581055
fclose(metrics_file);

source/s3_meta_request.c

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -520,25 +520,23 @@ static void s_s3_meta_request_destroy(void *user_data) {
520520
/* write every read metric to a file */
521521
if (metrics_file) {
522522
// Write CSV header
523-
fprintf(metrics_file, "index,offset,size,start_timestamp,end_timestamp,duration_ns,throughput_mbps\n");
523+
fprintf(metrics_file, "index,offset,size,start_timestamp,duration_ns,threadid\n");
524524
// Write all metrics
525525
for (size_t j = 0; j < metric_length; j++) {
526526
struct s3_data_read_metrics m;
527527
aws_array_list_get_at(&meta_request->read_metrics_list, &m, j);
528528

529529
uint64_t duration = m.end_timestamp - m.start_timestamp;
530-
double throughput_mbps = duration > 0 ? (double)(m.size * 8) / (duration / 1000.0) / 1000000.0 : 0.0;
531530

532531
fprintf(
533532
metrics_file,
534-
"%zu,%llu,%llu,%llu,%llu,%llu,%.2f\n",
533+
"%zu,%llu,%llu,%llu,%llu,%zu\n",
535534
j,
536535
(unsigned long long)m.offset,
537536
(unsigned long long)m.size,
538537
(unsigned long long)m.start_timestamp,
539-
(unsigned long long)m.end_timestamp,
540538
(unsigned long long)duration,
541-
throughput_mbps);
539+
(size_t)m.thread_id);
542540
}
543541
fclose(metrics_file);
544542

source/s3_parallel_input_stream.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include <aws/common/file.h>
1212
#include <aws/common/string.h>
1313
#include <aws/common/task_scheduler.h>
14+
#include <aws/common/thread.h>
1415

1516
#include <aws/io/event_loop.h>
1617
#include <aws/io/future.h>
@@ -282,6 +283,7 @@ static int s_aws_s3_mmap_part_streaming_input_stream_read(struct aws_input_strea
282283
/* Map the content */
283284
size_t read_length = aws_min_size(dest->capacity - dest->len, impl->total_length - impl->total_length_read);
284285
aws_high_res_clock_get_ticks(&impl->metrics.start_timestamp);
286+
impl->metrics.thread_id = aws_thread_current_thread_id();
285287

286288
if (impl->in_chunk_offset == SIZE_MAX) {
287289
/* The reading buf is invalid. Block until the loading buf is available. */

0 commit comments

Comments
 (0)