Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
darshan
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
72
Issues
72
List
Boards
Labels
Milestones
Merge Requests
5
Merge Requests
5
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
darshan
darshan
Commits
faa23f57
Commit
faa23f57
authored
Nov 08, 2016
by
Cong Xu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add hostname information to DXT
Signed-off-by:
Cong Xu
<
cong.xu@intel.com
>
parent
7a09fdee
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
24 deletions
+40
-24
darshan-dxt-log-format.h
darshan-dxt-log-format.h
+3
-0
darshan-runtime/lib/darshan-dxt.c
darshan-runtime/lib/darshan-dxt.c
+23
-18
darshan-util/darshan-dxt-logutils.c
darshan-util/darshan-dxt-logutils.c
+14
-6
No files found.
darshan-dxt-log-format.h
View file @
faa23f57
...
...
@@ -10,6 +10,8 @@
#define DXT_POSIX_VER 1
#define DXT_MPIIO_VER 1
#define HOSTNAME_SIZE 64
/*
* DXT, the segment_info structure maintains detailed Segment IO tracing
* information
...
...
@@ -34,6 +36,7 @@ typedef struct segment_info {
struct
dxt_file_record
{
struct
darshan_base_record
base_rec
;
int64_t
shared_record
;
/* -1 means it is a shared file record */
char
hostname
[
HOSTNAME_SIZE
];
int64_t
write_count
;
int64_t
read_count
;
...
...
darshan-runtime/lib/darshan-dxt.c
View file @
faa23f57
...
...
@@ -464,6 +464,7 @@ static struct dxt_file_record_ref *dxt_posix_track_new_file_record(
/* initialize record and record reference fields */
file_rec
->
base_rec
.
id
=
rec_id
;
file_rec
->
base_rec
.
rank
=
posix_my_rank
;
gethostname
(
file_rec
->
hostname
,
HOSTNAME_SIZE
);
rec_ref
->
file_rec
=
file_rec
;
dxt_posix_runtime
->
file_rec_count
++
;
...
...
@@ -520,6 +521,7 @@ static struct dxt_file_record_ref *dxt_mpiio_track_new_file_record(
/* initialize record and record reference fields */
file_rec
->
base_rec
.
id
=
rec_id
;
file_rec
->
base_rec
.
rank
=
mpiio_my_rank
;
gethostname
(
file_rec
->
hostname
,
HOSTNAME_SIZE
);
rec_ref
->
file_rec
=
file_rec
;
dxt_mpiio_runtime
->
file_rec_count
++
;
...
...
@@ -612,34 +614,37 @@ static void dxt_serialize_posix_records(void *rec_ref_p)
#if 0
int i;
int64_t rank;
char *hostname;
int64_t offset;
int64_t length;
int64_t rank;
double start_time;
double end_time;
printf("DXT, record_id: %" PRIu64 "\n", rec_ref->file_rec->base_rec.id);
printf("DXT, write_count is: %d read_count is: %d\n",
rank = file_rec->base_rec.rank;
hostname = file_rec->hostname;
printf("X_POSIX, record_id: %" PRIu64 "\n", rec_ref->file_rec->base_rec.id);
printf("X_POSIX, write_count is: %d read_count is: %d\n",
file_rec->write_count, file_rec->read_count);
printf("X_POSIX, rank: %d hostname: %s\n", rank, hostname);
for (i = 0; i < file_rec->write_count; i++) {
rank = file_rec->base_rec.rank;
offset = rec_ref->write_traces[i].offset;
length = rec_ref->write_traces[i].length;
start_time = rec_ref->write_traces[i].start_time;
end_time = rec_ref->write_traces[i].end_time;
printf("
DXT
, rank %d writes segment %lld [offset: %lld length: %lld start_time: %fs end_time: %fs]\n", rank, i, offset, length, start_time, end_time);
printf("
X_POSIX
, rank %d writes segment %lld [offset: %lld length: %lld start_time: %fs end_time: %fs]\n", rank, i, offset, length, start_time, end_time);
}
for (i = 0; i < file_rec->read_count; i++) {
rank = file_rec->base_rec.rank;
offset = rec_ref->read_traces[i].offset;
length = rec_ref->read_traces[i].length;
start_time = rec_ref->read_traces[i].start_time;
end_time = rec_ref->read_traces[i].end_time;
printf("
DXT
, rank %d reads segment %lld [offset: %lld length: %lld start_time: %fs end_time: %fs]\n", rank, i, offset, length, start_time, end_time);
printf("
X_POSIX
, rank %d reads segment %lld [offset: %lld length: %lld start_time: %fs end_time: %fs]\n", rank, i, offset, length, start_time, end_time);
}
#endif
}
...
...
@@ -725,34 +730,34 @@ static void dxt_serialize_mpiio_records(void *rec_ref_p)
#if 0
int i;
int64_t offset;
int64_t length;
int64_t rank;
char *hostname;
int64_t length;
double start_time;
double end_time;
printf("Cong, record_id: %" PRIu64 "\n", rec_ref->file_rec->base_rec.id);
printf("DXT, file_rec->write_count is: %d\n",
file_rec->write_count);
rank = file_rec->base_rec.rank;
hostname = file_rec->hostname;
printf("X_MPIIO, record_id: %" PRIu64 "\n", rec_ref->file_rec->base_rec.id);
printf("X_MPIIO, write_count is: %d read_count is: %d\n",
file_rec->write_count, file_rec->read_count);
printf("X_MPIIO, rank: %d hostname: %s\n", rank, hostname);
for (i = 0; i < file_rec->write_count; i++) {
rank = file_rec->base_rec.rank;
offset = rec_ref->write_traces[i].offset;
length = rec_ref->write_traces[i].length;
start_time = rec_ref->write_traces[i].start_time;
end_time = rec_ref->write_traces[i].end_time;
printf("
DXT, rank %d writes segment %lld [offset: %lld length: %lld start_time: %fs end_time: %fs]\n", rank, i, offset
, length, start_time, end_time);
printf("
X_MPIIO, rank %d writes segment %lld [length: %lld start_time: %fs end_time: %fs]\n", rank, i
, length, start_time, end_time);
}
for (i = 0; i < file_rec->read_count; i++) {
rank = file_rec->base_rec.rank;
offset = rec_ref->read_traces[i].offset;
length = rec_ref->read_traces[i].length;
start_time = rec_ref->read_traces[i].start_time;
end_time = rec_ref->read_traces[i].end_time;
printf("
DXT, rank %d reads segment %lld [offset: %lld length: %lld start_time: %fs end_time: %fs]\n", rank, i, offset
, length, start_time, end_time);
printf("
X_MPIIO, rank %d reads segment %lld [length: %lld start_time: %fs end_time: %fs]\n", rank, i
, length, start_time, end_time);
}
#endif
}
...
...
darshan-util/darshan-dxt-logutils.c
View file @
faa23f57
...
...
@@ -47,7 +47,6 @@ struct darshan_mod_logutil_funcs dxt_posix_logutils =
.
log_get_record
=
&
dxt_log_get_posix_file
,
.
log_put_record
=
&
dxt_log_put_posix_file
,
.
log_print_record
=
&
dxt_log_print_file
,
// .log_print_description = &dxt_log_print_posix_description,
.
log_print_diff
=
&
dxt_log_print_posix_file_diff
,
.
log_agg_records
=
&
dxt_log_agg_posix_files
,
};
...
...
@@ -57,17 +56,22 @@ struct darshan_mod_logutil_funcs dxt_mpiio_logutils =
.
log_get_record
=
&
dxt_log_get_mpiio_file
,
.
log_put_record
=
&
dxt_log_put_mpiio_file
,
.
log_print_record
=
&
dxt_log_print_file
,
// .log_print_description = &dxt_log_print_mpiio_description,
.
log_print_diff
=
&
dxt_log_print_mpiio_file_diff
,
.
log_agg_records
=
&
dxt_log_agg_mpiio_files
,
};
void
dxt_swap_file_record
(
struct
dxt_file_record
*
file_rec
)
{
int
i
;
DARSHAN_BSWAP64
(
&
file_rec
->
base_rec
.
id
);
DARSHAN_BSWAP64
(
&
file_rec
->
base_rec
.
rank
);
DARSHAN_BSWAP64
(
&
file_rec
->
shared_record
);
for
(
i
=
0
;
i
<
HOSTNAME_SIZE
;
i
++
)
{
DARSHAN_BSWAP64
(
&
file_rec
->
hostname
[
i
]);
}
DARSHAN_BSWAP64
(
&
file_rec
->
write_count
);
DARSHAN_BSWAP64
(
&
file_rec
->
read_count
);
}
...
...
@@ -217,6 +221,7 @@ void dxt_log_print_posix_file(void *posix_file_rec, char *file_name,
darshan_record_id
f_id
=
file_rec
->
base_rec
.
id
;
int64_t
rank
=
file_rec
->
base_rec
.
rank
;
char
*
hostname
=
file_rec
->
hostname
;
int64_t
write_count
=
file_rec
->
write_count
;
int64_t
read_count
=
file_rec
->
read_count
;
...
...
@@ -235,8 +240,9 @@ void dxt_log_print_posix_file(void *posix_file_rec, char *file_name,
}
printf
(
"
\n
# DXT, file_id: %"
PRIu64
", file_name: %s
\n
"
,
f_id
,
file_name
);
printf
(
"# DXT, rank: %d, write_count: %d, read_count: %d
\n
"
,
rank
,
write_count
,
read_count
);
printf
(
"# DXT, rank: %d, hostname: %s
\n
"
,
rank
,
hostname
);
printf
(
"# DXT, write_count: %d, read_count: %d
\n
"
,
write_count
,
read_count
);
if
(
lustreFS
)
{
stripe_size
=
ref
->
counters
[
LUSTRE_STRIPE_SIZE
];
...
...
@@ -330,6 +336,7 @@ void dxt_log_print_mpiio_file(void *mpiio_file_rec, char *file_name,
darshan_record_id
f_id
=
file_rec
->
base_rec
.
id
;
int64_t
rank
=
file_rec
->
base_rec
.
rank
;
char
*
hostname
=
file_rec
->
hostname
;
int64_t
write_count
=
file_rec
->
write_count
;
int64_t
read_count
=
file_rec
->
read_count
;
...
...
@@ -337,8 +344,9 @@ void dxt_log_print_mpiio_file(void *mpiio_file_rec, char *file_name,
segment_info
*
io_trace
=
(
segment_info
*
)
parser_buf
;
printf
(
"
\n
# DXT, file_id: %"
PRIu64
", file_name: %s
\n
"
,
f_id
,
file_name
);
printf
(
"# DXT, rank: %d, write_count: %d, read_count: %d
\n
"
,
rank
,
write_count
,
read_count
);
printf
(
"# DXT, rank: %d, hostname: %s
\n
"
,
rank
,
hostname
);
printf
(
"# DXT, write_count: %d, read_count: %d
\n
"
,
write_count
,
read_count
);
printf
(
"# DXT, mnt_pt: %s, fs_type: %s
\n
"
,
mnt_pt
,
fs_type
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment