diff options
author | arao <arao@redhat.com> | 2015-06-22 11:10:05 +0530 |
---|---|---|
committer | Raghavendra G <rgowdapp@redhat.com> | 2015-06-29 02:21:53 -0700 |
commit | f6385aeb2f69b36fd02498259258f013582f706f (patch) | |
tree | 204f03a8f058e2ad7750814bb4af3d3b3955fb00 /xlators/performance/read-ahead | |
parent | 10dfc9b4d4d04314ccd0f6a4eb0ee0341fd91e0d (diff) |
Logging: Porting the performance translator
logs to new logging framework
> Change-Id: Ie6aaf8d30bd4457bb73c48e23e6b1dea27598644
> BUG: 1194640
> Signed-off-by: arao <arao@redhat.com>
BUG: 1217722
Change-Id: I0856c43dbf8c0a1aa084d4478c9bdf3f41dfc0b8
Signed-off-by: arao <arao@redhat.com>
Reviewed-on: http://review.gluster.org/11442
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Raghavendra G <rgowdapp@redhat.com>
Diffstat (limited to 'xlators/performance/read-ahead')
-rw-r--r-- | xlators/performance/read-ahead/src/Makefile.am | 4 | ||||
-rw-r--r-- | xlators/performance/read-ahead/src/page.c | 11 | ||||
-rw-r--r-- | xlators/performance/read-ahead/src/read-ahead-messages.h | 94 | ||||
-rw-r--r-- | xlators/performance/read-ahead/src/read-ahead.c | 67 |
4 files changed, 142 insertions, 34 deletions
diff --git a/xlators/performance/read-ahead/src/Makefile.am b/xlators/performance/read-ahead/src/Makefile.am index be80ae7ac68..fb4c8ed86f3 100644 --- a/xlators/performance/read-ahead/src/Makefile.am +++ b/xlators/performance/read-ahead/src/Makefile.am @@ -6,10 +6,10 @@ read_ahead_la_LDFLAGS = -module -avoid-version read_ahead_la_SOURCES = read-ahead.c page.c read_ahead_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la -noinst_HEADERS = read-ahead.h read-ahead-mem-types.h +noinst_HEADERS = read-ahead.h read-ahead-mem-types.h read-ahead-messages.h AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src AM_CFLAGS = -Wall $(GF_CFLAGS) -CLEANFILES = +CLEANFILES = diff --git a/xlators/performance/read-ahead/src/page.c b/xlators/performance/read-ahead/src/page.c index 6e5b52c5e27..f96a23c9dab 100644 --- a/xlators/performance/read-ahead/src/page.c +++ b/xlators/performance/read-ahead/src/page.c @@ -19,6 +19,7 @@ #include "xlator.h" #include "read-ahead.h" #include <assert.h> +#include "read-ahead-messages.h" ra_page_t * ra_page_get (ra_file_t *file, off_t offset) @@ -155,7 +156,8 @@ ra_fault_cbk (call_frame_t *frame, void *cookie, xlator_t *this, pending_offset = local->pending_offset; if (file == NULL) { - gf_log (this->name, GF_LOG_WARNING, + gf_msg (this->name, GF_LOG_WARNING, EBADF, + READ_AHEAD_MSG_FD_CONTEXT_NOT_SET, "read-ahead context not set in fd (%p)", fd); op_ret = -1; op_errno = EBADF; @@ -170,9 +172,10 @@ ra_fault_cbk (call_frame_t *frame, void *cookie, xlator_t *this, page = ra_page_get (file, pending_offset); if (!page) { - gf_log (this->name, GF_LOG_TRACE, - "wasted copy: %"PRId64"[+%"PRId64"] file=%p", - pending_offset, file->page_size, file); + gf_msg_trace (this->name, 0, + "wasted copy: " + "%"PRId64"[+%"PRId64"] file=%p", + pending_offset, file->page_size, file); goto unlock; } diff --git a/xlators/performance/read-ahead/src/read-ahead-messages.h b/xlators/performance/read-ahead/src/read-ahead-messages.h new file mode 100644 index 00000000000..a205ceeb855 --- /dev/null +++ b/xlators/performance/read-ahead/src/read-ahead-messages.h @@ -0,0 +1,94 @@ +/*Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com> + This file is part of GlusterFS. + + This file is licensed to you under your choice of the GNU Lesser + General Public License, version 3 or any later version (LGPLv3 or + later), or the GNU General Public License, version 2 (GPLv2), in all + cases as published by the Free Software Foundation. +*/ + +#ifndef _READ_AHEAD_MESSAGES_H_ +#define _READ_AHEAD_MESSAGES_H_ + +#include "glfs-message-id.h" + +/*! \file read-ahead-messages.h + * \brief READ_AHEAD log-message IDs and their descriptions + * + */ + +/* NOTE: Rules for message additions + * 1) Each instance of a message is _better_ left with a unique message ID, even + * if the message format is the same. Reasoning is that, if the message + * format needs to change in one instance, the other instances are not + * impacted or the new change does not change the ID of the instance being + * modified. + * 2) Addition of a message, + * - Should increment the GLFS_NUM_MESSAGES + * - Append to the list of messages defined, towards the end + * - Retain macro naming as glfs_msg_X (for redability across developers) + * NOTE: Rules for message format modifications + * 3) Check acorss the code if the message ID macro in question is reused + * anywhere. If reused then then the modifications should ensure correctness + * everywhere, or needs a new message ID as (1) above was not adhered to. If + * not used anywhere, proceed with the required modification. + * NOTE: Rules for message deletion + * 4) Check (3) and if used anywhere else, then cannot be deleted. If not used + * anywhere, then can be deleted, but will leave a hole by design, as + * addition rules specify modification to the end of the list and not filling + * holes. + */ + +#define GLFS_READ_AHEAD_BASE GLFS_MSGID_COMP_READ_AHEAD +#define GLFS_READ_AHEAD_NUM_MESSAGES 4 +#define GLFS_MSGID_END (GLFS_READ_AHEAD_BASE +\ + GLFS_READ_AHEAD_NUM_MESSAGES + 1) + +/* Messages with message IDs */ +#define glfs_msg_start_x GLFS_READ_AHEAD_BASE, "Invalid: Start of messages" + + + + +/*! + * @messageid + * @diagnosis + * @recommendedaction None + * + */ + +#define READ_AHEAD_MSG_XLATOR_CHILD_MISCONFIGURED (GLFS_READ_AHEAD_BASE + 1) + +/*! + * @messageid + * @diagnosis + * @recommendedaction None + * + */ + +#define READ_AHEAD_MSG_VOL_MISCONFIGURED (GLFS_READ_AHEAD_BASE + 2) + +/*! + * @messageid + * @diagnosis + * @recommendedaction None + * + */ + +#define READ_AHEAD_MSG_NO_MEMORY (GLFS_READ_AHEAD_BASE + 3) + +/*! + * @messageid + * @diagnosis + * @recommendedaction None + * + */ + +#define READ_AHEAD_MSG_FD_CONTEXT_NOT_SET (GLFS_READ_AHEAD_BASE + 4) + + +/*------------*/ +#define glfs_msg_end_x GLFS_MSGID_END, "Invalid: End of messages" + + +#endif /* _READ_AHEAD_MESSAGES_H_ */ diff --git a/xlators/performance/read-ahead/src/read-ahead.c b/xlators/performance/read-ahead/src/read-ahead.c index 7ea9f40a1c8..f33263c6947 100644 --- a/xlators/performance/read-ahead/src/read-ahead.c +++ b/xlators/performance/read-ahead/src/read-ahead.c @@ -28,6 +28,7 @@ #include "statedump.h" #include <assert.h> #include <sys/time.h> +#include "read-ahead-messages.h" static void read_ahead (call_frame_t *frame, ra_file_t *file); @@ -89,8 +90,10 @@ ra_open_cbk (call_frame_t *frame, void *cookie, xlator_t *this, ret = fd_ctx_set (fd, this, (uint64_t)(long)file); if (ret == -1) { - gf_log (frame->this->name, GF_LOG_WARNING, - "cannot set read-ahead context information in fd (%p)", + gf_msg (frame->this->name, GF_LOG_WARNING, + 0, READ_AHEAD_MSG_NO_MEMORY, + "cannot set read-ahead context" + "information in fd (%p)", fd); ra_file_destroy (file); op_ret = -1; @@ -161,8 +164,10 @@ ra_create_cbk (call_frame_t *frame, void *cookie, xlator_t *this, ret = fd_ctx_set (fd, this, (uint64_t)(long)file); if (ret == -1) { - gf_log (this->name, GF_LOG_WARNING, - "cannot set read ahead context information in fd (%p)", + gf_msg (this->name, GF_LOG_WARNING, + 0, READ_AHEAD_MSG_NO_MEMORY, + "cannot set read ahead context" + "information in fd (%p)", fd); ra_file_destroy (file); op_ret = -1; @@ -329,8 +334,8 @@ read_ahead (call_frame_t *frame, ra_file_t *file) } if (fault) { - gf_log (frame->this->name, GF_LOG_TRACE, - "RA at offset=%"PRId64, trav_offset); + gf_msg_trace (frame->this->name, 0, + "RA at offset=%"PRId64, trav_offset); ra_page_fault (file, frame, trav_offset); } trav_offset += file->page_size; @@ -396,14 +401,15 @@ dispatch_requests (call_frame_t *frame, ra_file_t *file) trav->dirty = 0; if (trav->ready) { - gf_log (frame->this->name, GF_LOG_TRACE, - "HIT at offset=%"PRId64".", - trav_offset); + gf_msg_trace (frame->this->name, 0, + "HIT at offset=%"PRId64".", + trav_offset); ra_frame_fill (trav, frame); } else { - gf_log (frame->this->name, GF_LOG_TRACE, - "IN-TRANSIT at offset=%"PRId64".", - trav_offset); + gf_msg_trace (frame->this->name, 0, + "IN-TRANSIT at " + "offset=%"PRId64".", + trav_offset); ra_wait_on_page (trav, frame); need_atime_update = 0; } @@ -416,9 +422,9 @@ dispatch_requests (call_frame_t *frame, ra_file_t *file) } if (fault) { - gf_log (frame->this->name, GF_LOG_TRACE, - "MISS at offset=%"PRId64".", - trav_offset); + gf_msg_trace (frame->this->name, 0, + "MISS at offset=%"PRId64".", + trav_offset); ra_page_fault (file, frame, trav_offset); } @@ -476,9 +482,9 @@ ra_readv (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size, conf = this->private; - gf_log (this->name, GF_LOG_TRACE, - "NEW REQ at offset=%"PRId64" for size=%"GF_PRI_SIZET"", - offset, size); + gf_msg_trace (this->name, 0, + "NEW REQ at offset=%"PRId64" for size=%"GF_PRI_SIZET"", + offset, size); fd_ctx_get (fd, this, &tmp_file); file = (ra_file_t *)(long)tmp_file; @@ -488,15 +494,16 @@ ra_readv (call_frame_t *frame, xlator_t *this, fd_t *fd, size_t size, } if (file->offset != offset) { - gf_log (this->name, GF_LOG_TRACE, - "unexpected offset (%"PRId64" != %"PRId64") resetting", - file->offset, offset); + gf_msg_trace (this->name, 0, + "unexpected offset (%"PRId64" != %"PRId64") " + "resetting", + file->offset, offset); expected_offset = file->expected = file->page_count = 0; } else { - gf_log (this->name, GF_LOG_TRACE, - "expected offset (%"PRId64") when page_count=%d", - offset, file->page_count); + gf_msg_trace (this->name, 0, + "expected offset (%"PRId64") when page_count=%d", + offset, file->page_count); if (file->expected < (file->page_size * conf->page_count)) { file->expected += size; @@ -1103,7 +1110,8 @@ mem_acct_init (xlator_t *this) ret = xlator_mem_acct_init (this, gf_ra_mt_end + 1); if (ret != 0) { - gf_log (this->name, GF_LOG_ERROR, "Memory accounting init" + gf_msg (this->name, GF_LOG_ERROR, ENOMEM, + READ_AHEAD_MSG_NO_MEMORY, "Memory accounting init" "failed"); } @@ -1141,14 +1149,16 @@ init (xlator_t *this) GF_VALIDATE_OR_GOTO ("read-ahead", this, out); if (!this->children || this->children->next) { - gf_log (this->name, GF_LOG_ERROR, + gf_msg (this->name, GF_LOG_ERROR, 0, + READ_AHEAD_MSG_XLATOR_CHILD_MISCONFIGURED, "FATAL: read-ahead not configured with exactly one" " child"); goto out; } if (!this->parents) { - gf_log (this->name, GF_LOG_WARNING, + gf_msg (this->name, GF_LOG_WARNING, 0, + READ_AHEAD_MSG_VOL_MISCONFIGURED, "dangling volume. check volfile "); } @@ -1173,7 +1183,8 @@ init (xlator_t *this) this->local_pool = mem_pool_new (ra_local_t, 64); if (!this->local_pool) { ret = -1; - gf_log (this->name, GF_LOG_ERROR, + gf_msg (this->name, GF_LOG_ERROR, + ENOMEM, READ_AHEAD_MSG_NO_MEMORY, "failed to create local_t's memory pool"); goto out; } |