Bug 1614373

Summary: Description of charts from Profiling Information section of Volume dashboard is incorrect
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Martin Bukatovic <mbukatov>
Component: web-admin-tendrl-monitoring-integrationAssignee: gowtham <gshanmug>
Status: CLOSED ERRATA QA Contact: Elena Bondarenko <ebondare>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rhgs-3.4CC: anbehl, apaladug, ebondare, gshanmug, julim, nthomas, rhinduja, rhs-bugs, sankarshan
Target Milestone: ---Keywords: ZStream
Target Release: RHGS 3.4.z Batch Update 1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tendrl-monitoring-integration-1.6.3-13.el7rhgs Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-10-31 08:45:18 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
screenshot 1: Profiling Information section of Volume dashboard none

Description Martin Bukatovic 2018-08-09 14:03:40 UTC
Description of problem
======================

Description of charts from Profiling Information section of Volume dashboard
doesn't match data actually provided by the charts there.

Version-Release number of selected component
============================================

tendrl-monitoring-integration-1.6.3-7.el7rhgs.noarch

Steps to Reproduce
==================

1. Instal RHGS WA using tendrl-ansible
2. Import Trusted storage pool with at least one volume
3. Make sure profiling is enabled
4. Go to Volume dashboard and check charts in Profiling Information section:

 * File Operations for Locks
 * File Operations for Read/Write
 * File Operations for Inode Operations
 * File Operations for Entry Operations

Actual results
==============

The description for each chart in the section states that 3 values (average
latency, minimum latency and call rate) are reported in the chart:

> The File Operations for Locks panel displays the average latency, maximum     
> latency, call rate for each FOP for Locks over a period of time.              
                                                                                
> The File Operations for Read/Write panel displays the average latency,         
> maximum latency, call rate for each FOP for Read/Write Operations over a      
> period of time.                                                               
                                                                                
> The File Operations for Inode Operations panel displays the average latency,  
> maximum latency, call rate for each FOP for Inode Operations over a period of 
> time.                                                                         
                                                                                
> The File Operations for Entry Operations panel displays the average latency,  
> maximum latency, call rate for each FOP for Entry Operations over a period of 
> time.

This description conflicts with:

 * title of each chart, which suggests that a single, sheer number value is
   reported
 * actual data reported in each chart (single value without any unit is
   shown in each chart)

Expected results
================

The description of each chart in Profiling Information section should be
updated to describe value actually reported in the chart. This includes
additional details necessary for customer to fully understand value
reported on each chart.

Comment 1 Martin Bukatovic 2018-08-09 14:06:26 UTC
This bug assumes that single value representing number of file operations
is expected to be shown on these charts. If this is not the case, this bug
is invalid, and the charts themselves needs to be updated instead.

Comment 2 Martin Bukatovic 2018-08-09 14:16:46 UTC
Created attachment 1474710 [details]
screenshot 1: Profiling Information section of Volume dashboard

Comment 6 Ju Lim 2018-09-07 15:53:37 UTC
In looking at this BZ, instead of the word "hits," can we use the word "requests" instead.

E.g. The File Operations for Locks panel displays the number of requests for Locks over a period of time.

I also want to mention the initial intent was for these panels, i.e. The File Operations for x Operations was to show average latency, maximum latency, call rate for each FOP category.  See https://github.com/Tendrl/specifications/issues/224 for more details.

However, showing the requests per category is fine as it gives a good indication of where time is being spent, i.e. locks, read/write, inode, or entry operations.

With regards to Comment5 as to what is an entry operation, it's also defined in https://github.com/Tendrl/specifications/issues/224, but I've cut-n-paste the various FOP types mapped to 1 of the 4 FOP categories (Locks, Read/Write, Inode, Entry) here so it's documented in a BZ.  Note: This list was provided to me by srangana.

There exists approximately 46 File Operations (FOPs) that would need to be mapped into 4 categories for the data to be consumable for troubleshooting in order to identify patterns:

L = Locks
D = Data Read/Write Operations
I = Inode Operations
E = Entry Operations
List of [FOP Categories] to FOPs:

[I] ACCESS - ?
[D] CREATE - create a file
[D] DISCARD - support for trim?
[L] ENTRYLK - lock a directory given its pathname?
[D] FALLOCATE - allocate space for file without actually writing to it
[L] FENTRYLK - lock a file given its handle
[I] FGETXATTR - get named extended attribute value for a file (handle)
[L] FINODELK - lock a file/directory for write/read
[D] FLUSH - ensure all written data is persistently stored
[I] FREMOVEXATTR - remove a named extended attribute from a file handle
[I] FSETATTR - set value of metadata field (which ones?) for a file (handle)
[I] FSETXATTR - set value of a named extended attribute for a file handle
[I] FSTAT - get standard metadata about a file given its file handle
[D] FSYNC - ensure all written data for a file is persistently stored
[D] FSYNCDIR - ensure all directory entries in directory are persistently stored
[I] FTRUNCATE - set file size to specified value, deallocating data beyond this point
[I] FXATTROP - used by AFR replication?
[I] GETXATTR - get value of named extended attribute
[L] INODELK - lock a directory for write or for read
[E] LINK - create a hard link
[L] LK - lock?
[I] LOOKUP - lookup file within directory
[E] MKDIR - create directory
[E] MKNOD - create device special file
[I] OPEN - open a file
[I] OPENDIR- open a directory (in preparation for READDIR)
[D] RCHECKSUM - ?
[D] READ - read data from a file
[D] READDIR - read directory entries from a directory
[D] READDIRP - read directory entries with standard metadata for each file (readdirplus)
[I] READLINK - get the pathname of a file that a symlink is pointing to
[D] READY - ?
[I] REMOVEXATTR - remove a named extended attribute from a pathname?
[E] RENAME - rename a file
[E] RMDIR - remove a directory (assumes it is already empty)
[I] SEEK - ?
[I] SETATTR - set field in standard file metadata for pathname
[I] SETXATTR - set named extended attribute value for file given pathname
[I] STAT - get standard metadata for file given pathname
[I] STATFS - get metadata for the filesystem
[E] SYMLINK - create a softlink to specified pathname
[I] TRUNCATE - truncate file at pathname to specified size
[E] UNLINK - delete file
[D] WRITE - write data to file
[I] XATTROP - ?
[D] ZEROFILL - write zeroes to the file in specified offset range

Comment 7 Ju Lim 2018-09-07 15:58:51 UTC
Suggested text:

The File Operations for Locks panel displays the number of requests for Locks over a period of time. 

The File Operations for Read/Write panel displays the number of requests for Read/Write over a period of time.

The File Operations for Inode Operations panel displays the number of requests for Inode Operations over a period of time.

The File Operations for Entry Operations panel displays the number of requests for Entry Operations over a period of time.  The entry operations pertains to creation, renaming, and removal of files/directories.

Comment 8 Martin Bukatovic 2018-09-07 18:54:50 UTC
Thank you Ju for providing references to original design. Needinfo is cleared
by the details in comment 6.

Comment 10 gowtham 2018-09-11 14:12:27 UTC
PR is under review: https://github.com/Tendrl/monitoring-integration/pull/573

Comment 12 Elena Bondarenko 2018-09-26 07:03:40 UTC
The descriptions of charts from Profiling Information section have been changed in accordance with Comment 7.

Comment 14 errata-xmlrpc 2018-10-31 08:45:18 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:3427