Skip to content
This repository has been archived by the owner on Jul 4, 2022. It is now read-only.

EOS-13990: NFS ADDB: Tracepointsfor all ATTR operations #22

Merged
merged 1 commit into from
Oct 14, 2020

Conversation

vimalraghwani20
Copy link
Contributor

Problem Statement
EOS-13990: NFS ADDB: Tracepointsfor all ATTR operations
EOS-10522: NFS ADDB: Decoders for all file operations

Problem Description
Implement tracepoints and decoder for the attr handlers.

Solution Overview
Following changes has been done:

added wrapper over kvsfs_getattrs using kvsfs_perf_op_getattrs
Added traces for init and finish inside kvsfs_getattrs
Added traces for attributes like return code
added wrapper over kvsfs_setattrs using kvsfs_perf_op_setattrs
Added traces for init and finish inside kvsfs_setattrs
Added traces for attributes like return code
Added all enums in the decoder.
Unit Test Cases
`
sudo m0addb2dump -p /usr/lib64/libcortx-utils.so -- /addb_22028/o/100000000000000:2 | grep fsuser > addb_dump_op_decode_4

-bash-4.2$ cat addb_dump_op_decode_4 | grep "fsal_getattrs"

2020-10-08-01:13:36.571926218 fsuser_state fsal_getattrs, state, e, init
2020-10-08-01:13:36.576515604 fsuser_attribute fsal_getattrs, attribute, e, get_attribute_result_major_code, ? 0?
2020-10-08-01:13:36.576516264 fsuser_attribute fsal_getattrs, attribute, e, get_attribute_result_minor_code, ? 0?
2020-10-08-01:13:36.576516774 fsuser_state fsal_getattrs, state, e, finish
2020-10-08-01:14:01.444814040 fsuser_state fsal_getattrs, state, 36, init
2020-10-08-01:14:01.448805051 fsuser_attribute fsal_getattrs, attribute, 36, get_attribute_result_major_code, ? 0?
2020-10-08-01:14:01.448805701 fsuser_attribute fsal_getattrs, attribute, 36, get_attribute_result_minor_code, ? 0?
2020-10-08-01:14:01.448806226 fsuser_state fsal_getattrs, state, 36, finish
2020-10-08-01:14:16.542089191 fsuser_state fsal_getattrs, state, c3, init
2020-10-08-01:14:16.546121912 fsuser_attribute fsal_getattrs, attribute, c3, get_attribute_result_major_code, ? 0?
2020-10-08-01:14:16.546122558 fsuser_attribute fsal_getattrs, attribute, c3, get_attribute_result_minor_code, ? 0?
2020-10-08-01:14:16.546123094 fsuser_state fsal_getattrs, state, c3, finish
2020-10-08-01:14:29.730222059 fsuser_state fsal_getattrs, state, 17c, init
2020-10-08-01:14:29.734102240 fsuser_attribute fsal_getattrs, attribute, 17c, get_attribute_result_major_code, ? 0?
2020-10-08-01:14:29.734102870 fsuser_attribute fsal_getattrs, attribute, 17c, get_attribute_result_minor_code, ? 0?
2020-10-08-01:14:29.734103387 fsuser_state fsal_getattrs, state, 17c, finish
-bash-4.2$ cat addb_dump_op_decode_4 | grep "fsal_setattrs"

2020-10-08-01:14:34.079656624 fsuser_state fsal_setattrs, state, 566, init
2020-10-08-01:14:34.082418414 fsuser_attribute fsal_setattrs, attribute, 566, set_attribute_result_major_code, ? 0?
2020-10-08-01:14:34.082419134 fsuser_attribute fsal_setattrs, attribute, 566, set_attribute_result_minor_code, ? 0?
2020-10-08-01:14:34.082419712 fsuser_state fsal_setattrs, state, 566, finish
2020-10-08-01:14:33.909490008 fsuser_state fsal_setattrs, state, 492, init
2020-10-08-01:14:33.912997100 fsuser_attribute fsal_setattrs, attribute, 492, set_attribute_result_major_code, ? 0?
2020-10-08-01:14:33.912997868 fsuser_attribute fsal_setattrs, attribute, 492, set_attribute_result_minor_code, ? 0?
2020-10-08-01:14:33.912998408 fsuser_state fsal_setattrs, state, 492, finish
2020-10-08-01:14:55.922933569 fsuser_state fsal_setattrs, state, 7eb, init
2020-10-08-01:14:55.926658809 fsuser_attribute fsal_setattrs, attribute, 7eb, set_attribute_result_major_code, ? 0?
2020-10-08-01:14:55.926660101 fsuser_attribute fsal_setattrs, attribute, 7eb, set_attribute_result_minor_code, ? 0?
2020-10-08-01:14:55.926660668 fsuser_state fsal_setattrs, state, 7eb, finish
2020-10-08-01:14:52.125471046 fsuser_state fsal_setattrs, state, 76e, init
2020-10-08-01:14:52.128594395 fsuser_attribute fsal_setattrs, attribute, 76e, set_attribute_result_major_code, ? 0?
2020-10-08-01:14:52.128595145 fsuser_attribute fsal_setattrs, attribute, 76e, set_attribute_result_minor_code, ? 0?
2020-10-08-01:14:52.128595686 fsuser_state fsal_setattrs, state, 76e, finish

Copy link
Contributor

@pratyush-seagate pratyush-seagate left a comment

Choose a reason for hiding this comment

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

LGTM, +1

Copy link

@AtitaShirwaikar AtitaShirwaikar left a comment

Choose a reason for hiding this comment

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

LGTM+1

Copy link
Contributor

@sachinpunadikar sachinpunadikar left a comment

Choose a reason for hiding this comment

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

add "inline" to all "__kvs_xxx" functions to avoid function call overhead.

Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
Copy link
Contributor

@sachinpunadikar sachinpunadikar left a comment

Choose a reason for hiding this comment

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

+1

@sachinpunadikar sachinpunadikar merged commit acff4f4 into main Oct 14, 2020
@sachinpunadikar sachinpunadikar deleted the EOS-13990 branch October 14, 2020 11:46
vimalraghwani20 added a commit that referenced this pull request Oct 17, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 17, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 17, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 18, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
sachinpunadikar pushed a commit that referenced this pull request Oct 19, 2020
* EOS-13562: Remove .gitlab folder from NFS repos

    Problem: .gitlab folder continues to exist

    Solution: removing .gitlab folder

    Testing: Build test done.

    Signed-off-by: Mohammed Shahid <mohammed.shahid@seagate.com>

* Update README.md

* Add Codacy badge

* EOS-8896: NFS ADDB: NFS-only tracepoints for READ (repo nsal)
        List of modified files:
		modified:   src/CMakeLists.txt
		modified:   src/kvstore/kvstore_base.c
        Change description:
                Add new performance counters and integrate them further with other modules using newly added APIs
                Addb APIs integration for read path
        Unit test:
                Compilation with and without ENABLE_TSDB_ADDB flag
                Addb unit test while integrated with read handler
                Regular UTs (both with and without ENABLE_TSDB_ADDB flag)
        addb dump o/p from read handler after integration:
        * 2020-09-29-17:27:47.484505618            210ab ?               1?, ?               1?, ?            5035?, ?               1?
        * 2020-09-29-17:27:47.484506598            210cd ?               1?, ?               2?, ?            5035?, ?               5?, ?               0?
        * 2020-09-29-17:27:47.484507284            210cd ?               1?, ?               2?, ?            5035?, ?               6?, ?               1?
        * 2020-09-29-17:27:47.484508075            210cd ?               1?, ?               2?, ?            5035?, ?               7?, ?            1000?
        * 2020-09-29-17:27:47.484524037            210ab ?               4?, ?               1?, ?            5036?, ?               1?
        * 2020-09-29-17:27:47.484524850            210ef ?               4?, ?               3?, ?               6?, ?            5036?, ?            5035?
        * 2020-09-29-17:27:47.484525701            210cd ?               4?, ?               2?, ?            5036?, ?               a?, ?            1000?
        * 2020-09-29-17:27:47.484526538            210cd ?               4?, ?               2?, ?            5036?, ?               b?, ?               0?
        * 2020-09-29-17:27:47.484528239            210ab ?               2?, ?               1?, ?            5037?, ?               1?
        * 2020-09-29-17:27:47.484528994            210ef ?               2?, ?               3?, ?              10?, ?            5037?, ?            5035?
        * 2020-09-29-17:27:47.484529869            210cd ?               2?, ?               2?, ?            5037?, ?              10?, ?              12?
        * 2020-09-29-17:27:47.484531526            210cd ?               2?, ?               2?, ?            5037?, ?              11?, ?               0?
        * 2020-09-29-17:27:47.484532228            210ab ?               2?, ?               1?, ?            5037?, ?               2?
        * 2020-09-29-17:27:47.484533046            210ab ?               3?, ?               1?, ?            5038?, ?               1?
        * 2020-09-29-17:27:47.484533789            210ef ?               3?, ?               3?, ?              10?, ?            5038?, ?            5035?
        * 2020-09-29-17:27:47.484534649            210cd ?               3?, ?               2?, ?            5038?, ?              17?, ?              12?
        * 2020-09-29-17:27:47.484535507            210cd ?               3?, ?               2?, ?            5038?, ?              18?, ?               0?
        * 2020-09-29-17:27:47.487947750            210cd ?               3?, ?               2?, ?            5038?, ?              19?, ?               0?
        * 2020-09-29-17:27:47.487948775            210ab ?               3?, ?               1?, ?            5038?, ?               2?

* fix: disable auto-close issues/PR feature of stale-bot (#14)

Signed-off-by: Gaurav Chaudhari <gaurav.chaudhari@seagate.com>

* EOS-13233 NFS job is failing for cortx-1.0 branch (#13)

Signed-off-by: Swapnil Gaonkar <swapnil.gaonkar@seagate.com>

Co-authored-by: Sachin Punadikar <sachin.punadikar@seagate.com>

* Create codeql-analysis.yml (#18)

Problem Statement: Setup CodeQL Analysis GitHub Actions. It discovers vulnerabilities across a codebase using CodeQL for repositories.
Solution: Setup workflow and add codeql-analysis.yml file to perform scanning using github actions.

* Delete codeql-analysis.yml (#21)

CodeQL has some issues during code scans.Will reopen a new PR with better tool as compared to CodeQL

* Update README.md (#19)

Problem: Add AGPL V3 License Badge and Slack Chat Badge to README.md file
Solution: Badge link for AGPL V3 License and Slack Chat added to README.md file

* EOS-13990: NFS ADDB: Tracepointsfor all ATTR operations (#22)

Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>

Co-authored-by: Mohammed Shahid <mohammed.shahid@seagate.com>
Co-authored-by: pujamudaliar <61046306+pujamudaliar@users.noreply.github.com>
Co-authored-by: The Codacy Badger <badger@codacy.com>
Co-authored-by: pratyush-seagate <pratyush.k.khan@seagate.com>
Co-authored-by: Gaurav Chaudhari <61046500+gauravchaudhari02@users.noreply.github.com>
Co-authored-by: SwapnilGaonkar7 <68695643+SwapnilGaonkar7@users.noreply.github.com>
Co-authored-by: pujamudaliar <puja.mudaliar@seagate.com>
Co-authored-by: vimalraghwani20 <68695688+vimalraghwani20@users.noreply.github.com>
vimalraghwani20 added a commit that referenced this pull request Oct 19, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 19, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 19, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 19, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 20, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 20, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 20, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 20, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
sachinpunadikar pushed a commit that referenced this pull request Oct 20, 2020
* EOS-13990: NFS ADDB: Tracepointsfor all ATTR operations (#22)
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>

* EOS-13990: NFS ADDB: Tracepointsfor all ATTR operations (#22)
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
vimalraghwani20 added a commit that referenced this pull request Oct 20, 2020
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>
sachinpunadikar pushed a commit that referenced this pull request Nov 5, 2020
* EOS-13562: Remove .gitlab folder from NFS repos

    Problem: .gitlab folder continues to exist

    Solution: removing .gitlab folder

    Testing: Build test done.

    Signed-off-by: Mohammed Shahid <mohammed.shahid@seagate.com>

* Update README.md

* Add Codacy badge

* EOS-8896: NFS ADDB: NFS-only tracepoints for READ (repo nsal)
        List of modified files:
		modified:   src/CMakeLists.txt
		modified:   src/kvstore/kvstore_base.c
        Change description:
                Add new performance counters and integrate them further with other modules using newly added APIs
                Addb APIs integration for read path
        Unit test:
                Compilation with and without ENABLE_TSDB_ADDB flag
                Addb unit test while integrated with read handler
                Regular UTs (both with and without ENABLE_TSDB_ADDB flag)
        addb dump o/p from read handler after integration:
        * 2020-09-29-17:27:47.484505618            210ab ?               1?, ?               1?, ?            5035?, ?               1?
        * 2020-09-29-17:27:47.484506598            210cd ?               1?, ?               2?, ?            5035?, ?               5?, ?               0?
        * 2020-09-29-17:27:47.484507284            210cd ?               1?, ?               2?, ?            5035?, ?               6?, ?               1?
        * 2020-09-29-17:27:47.484508075            210cd ?               1?, ?               2?, ?            5035?, ?               7?, ?            1000?
        * 2020-09-29-17:27:47.484524037            210ab ?               4?, ?               1?, ?            5036?, ?               1?
        * 2020-09-29-17:27:47.484524850            210ef ?               4?, ?               3?, ?               6?, ?            5036?, ?            5035?
        * 2020-09-29-17:27:47.484525701            210cd ?               4?, ?               2?, ?            5036?, ?               a?, ?            1000?
        * 2020-09-29-17:27:47.484526538            210cd ?               4?, ?               2?, ?            5036?, ?               b?, ?               0?
        * 2020-09-29-17:27:47.484528239            210ab ?               2?, ?               1?, ?            5037?, ?               1?
        * 2020-09-29-17:27:47.484528994            210ef ?               2?, ?               3?, ?              10?, ?            5037?, ?            5035?
        * 2020-09-29-17:27:47.484529869            210cd ?               2?, ?               2?, ?            5037?, ?              10?, ?              12?
        * 2020-09-29-17:27:47.484531526            210cd ?               2?, ?               2?, ?            5037?, ?              11?, ?               0?
        * 2020-09-29-17:27:47.484532228            210ab ?               2?, ?               1?, ?            5037?, ?               2?
        * 2020-09-29-17:27:47.484533046            210ab ?               3?, ?               1?, ?            5038?, ?               1?
        * 2020-09-29-17:27:47.484533789            210ef ?               3?, ?               3?, ?              10?, ?            5038?, ?            5035?
        * 2020-09-29-17:27:47.484534649            210cd ?               3?, ?               2?, ?            5038?, ?              17?, ?              12?
        * 2020-09-29-17:27:47.484535507            210cd ?               3?, ?               2?, ?            5038?, ?              18?, ?               0?
        * 2020-09-29-17:27:47.487947750            210cd ?               3?, ?               2?, ?            5038?, ?              19?, ?               0?
        * 2020-09-29-17:27:47.487948775            210ab ?               3?, ?               1?, ?            5038?, ?               2?

* fix: disable auto-close issues/PR feature of stale-bot (#14)

Signed-off-by: Gaurav Chaudhari <gaurav.chaudhari@seagate.com>

* EOS-13233 NFS job is failing for cortx-1.0 branch (#13)

Signed-off-by: Swapnil Gaonkar <swapnil.gaonkar@seagate.com>

Co-authored-by: Sachin Punadikar <sachin.punadikar@seagate.com>

* Create codeql-analysis.yml (#18)

Problem Statement: Setup CodeQL Analysis GitHub Actions. It discovers vulnerabilities across a codebase using CodeQL for repositories.
Solution: Setup workflow and add codeql-analysis.yml file to perform scanning using github actions.

* Delete codeql-analysis.yml (#21)

CodeQL has some issues during code scans.Will reopen a new PR with better tool as compared to CodeQL

* Update README.md (#19)

Problem: Add AGPL V3 License Badge and Slack Chat Badge to README.md file
Solution: Badge link for AGPL V3 License and Slack Chat added to README.md file

* EOS-13990: NFS ADDB: Tracepointsfor all ATTR operations (#22)

Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>

* Create SECURITY.md (#17)

Co-authored-by: Sachin Punadikar <sachin.punadikar@seagate.com>

* Added README , SUPPORT, SECURITY, CODE_OF_CONDUCT, CONTRIBUTING  (#15)

* Added README.md

Added README.md

Signed-off-by: Saumya Sunder <saumya.sunder@seagate.com>

* Added SUPPORT.md

Added SUPPORT.md

Signed-off-by: Saumya Sunder <saumya.sunder@seagate.com>

* Added SECURITY.md

Added SECURITY.md

Signed-off-by: Saumya Sunder <saumya.sunder@seagate.com>

* Added CONTRIBUTING.md

Added CONTRIBUTING.md

Signed-off-by: Saumya Sunder <saumya.sunder@seagate.com>

* Added CODE_OF_CONDUCT.md

Added CODE_OF_CONDUCT.md

Signed-off-by: Saumya Sunder <saumya.sunder@seagate.com>

Co-authored-by: Sachin Punadikar <sachin.punadikar@seagate.com>

* EOS-14283: NFS ADDB: Trace points for all motr operations (#25)

* EOS-13990: NFS ADDB: Tracepointsfor all ATTR operations (#22)
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>

* EOS-13990: NFS ADDB: Tracepointsfor all ATTR operations (#22)
Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>

* EOS-14283: resolved conflicts and build failure (#27)

Signed-off-by: vimalraghwani20 <vimal.raghwani@seagate.com>

* ADDB tracepoints for directory operations (#23)

Added ADDB tracepoint for directory operations like mkdir, rmdir, readdir
and lookup.

Signed-off-by: Sachin Punadikar <sachin.punadikar@seagate.com>

* Support global KVStore operations. (#20)

At times one need to work on a global index to store global information.
Currently supported functionality do not provide such global framework, and
everytime one need to mention which index one want to work with in that
KVStore.
Functionality added such that one can specify an index which can be treated as
global index, and support KV operations. Operations include set a KV pair, get
the KV pair and delete the KV pair.
Unit test is also provided.

Signed-off-by: Sachin Punadikar <sachin.punadikar@seagate.com>

* [GitHub Action] Issue triage (#28)

* fix: disable auto-close issues/PR feature of stale-bot

Signed-off-by: Gaurav Chaudhari <gaurav.chaudhari@seagate.com>

* feat: add github action for issue triage

Signed-off-by: Gaurav Chaudhari <gaurav.chaudhari@seagate.com>

* Delete CODE_OF_CONDUCT.md (#29)

Delete CODE_OF_CONDUCT.md because it is moved to the .git org level folder.

Signed-off-by: Saumya Sunder saumya.sunder@seagate.com

* EOS-14572: ADDB : Code refactor (#31)

Problem: The perf counter definitions should be included in cortxfs but it is currently in utils

	Change description:
		Refactor function tags, maps and attribute enums and move out repo specific code. Introduce ranges. move out plugin.

	List of modified files:
       modified:   src/common/motr/m0common.c
       new file:   src/include/cfs_nsal_perfc.h
       modified:   src/kvstore/kvstore_base.c
       modified:   src/kvstore/plugins/cortx/cortx_kvstore.c
       modified:   src/kvtree/kvtree.c

	Test:
		Full build, executed testing scripts.

    Signed-off-by: Mohammed Shahid <mohammed.shahid@seagate.com>

Co-authored-by: Mohammed Shahid <mohammed.shahid@seagate.com>
Co-authored-by: pujamudaliar <61046306+pujamudaliar@users.noreply.github.com>
Co-authored-by: The Codacy Badger <badger@codacy.com>
Co-authored-by: pratyush-seagate <pratyush.k.khan@seagate.com>
Co-authored-by: Gaurav Chaudhari <61046500+gauravchaudhari02@users.noreply.github.com>
Co-authored-by: SwapnilGaonkar7 <68695643+SwapnilGaonkar7@users.noreply.github.com>
Co-authored-by: pujamudaliar <puja.mudaliar@seagate.com>
Co-authored-by: vimalraghwani20 <68695688+vimalraghwani20@users.noreply.github.com>
Co-authored-by: mukul-seagate11 <mukul.malhotra@seagate.com>
Co-authored-by: Saumya Sunder <saumya.sunder@seagate.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants