Details

    • Improvement
    • Resolution: Fixed
    • Minor
    • Lustre 2.12.0
    • None
    • None
    • 9223372036854775807

    Description

      Stats maintained via the obd operations wrappers are less and less interesting. We should remove them.

      Attachments

        Activity

          [LU-11052] remove obd ops based stats
          pjones Peter Jones added a comment -

          Landed for 2.12

          pjones Peter Jones added a comment - Landed for 2.12

          Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32602/
          Subject: LU-11052 obd: remove OBD ops based stats
          Project: fs/lustre-release
          Branch: master
          Current Patch Set:
          Commit: 711eff3a50003b5c617955bae50fba7bfcb9c43d

          gerrit Gerrit Updater added a comment - Oleg Drokin (green@whamcloud.com) merged in patch https://review.whamcloud.com/32602/ Subject: LU-11052 obd: remove OBD ops based stats Project: fs/lustre-release Branch: master Current Patch Set: Commit: 711eff3a50003b5c617955bae50fba7bfcb9c43d

          John L. Hammond (john.hammond@intel.com) uploaded a new patch: https://review.whamcloud.com/32602
          Subject: LU-11052 obd: remove OBD ops based stats
          Project: fs/lustre-release
          Branch: master
          Current Patch Set: 1
          Commit: 3b9fe7e0f33d42525ecc604ceb6d066dd09c0586

          gerrit Gerrit Updater added a comment - John L. Hammond (john.hammond@intel.com) uploaded a new patch: https://review.whamcloud.com/32602 Subject: LU-11052 obd: remove OBD ops based stats Project: fs/lustre-release Branch: master Current Patch Set: 1 Commit: 3b9fe7e0f33d42525ecc604ceb6d066dd09c0586
          jhammond John Hammond added a comment - - edited

          The only stats files affected here would be obdfilter.*.stats, obdfilter.*.exports.*.stats and obdecho.*.stats. For obdfilter here is a comparison for two racer runs. With the current obd ops based stats:

          # lctl get_param obdfilter.lustre-OST0000.stats
          obdfilter.lustre-OST0000.stats=
          snapshot_time             1527267354.328068245 secs.nsecs
          read_bytes                610 samples [bytes] 4096 4194304 800043008
          write_bytes               2196 samples [bytes] 5 4194304 3410224606
          setattr                   13545 samples [reqs]
          punch                     7682 samples [reqs]
          destroy                   2281 samples [reqs]
          create                    74 samples [reqs]
          statfs                    234 samples [reqs]
          get_info                  1 samples [reqs]
          connect                   3 samples [reqs]
          disconnect                1 samples [reqs]
          preprw                    2806 samples [reqs]
          commitrw                  2806 samples [reqs]
          ping                      422 samples [reqs]
          
          # lctl get_param obdfilter.lustre-OST0000.exports.*.stats
          obdfilter.lustre-OST0000.exports.0@lo.stats=
          snapshot_time             1527267369.060990116 secs.nsecs
          read_bytes                610 samples [bytes] 4096 4194304 800043008
          write_bytes               2196 samples [bytes] 5 4194304 3410224606
          setattr                   13545 samples [reqs]
          punch                     7682 samples [reqs]
          destroy                   2281 samples [reqs]
          create                    74 samples [reqs]
          statfs                    237 samples [reqs]
          get_info                  1 samples [reqs]
          disconnect                1 samples [reqs]
          preprw                    2806 samples [reqs]
          commitrw                  2806 samples [reqs]
          ping                      428 samples [reqs]
          

          And after the OBD ops bases stats have been removed:

          # lctl get_param obdfilter.lustre-OST0000.stats
          obdfilter.lustre-OST0000.stats=
          snapshot_time             1527168813.867472974 secs.nsecs
          read_bytes                200 samples [bytes] 4096 4194304 231366656
          write_bytes               1703 samples [bytes] 5 4194304 1220864892
          getattr                   337 samples [reqs]
          setattr                   6358 samples [reqs]
          punch                     2880 samples [reqs]
          destroy                   2000 samples [reqs]
          create                    71 samples [reqs]
          statfs                    2148 samples [reqs]
          get_info                  4 samples [reqs]
          
          # lctl get_param obdfilter.lustre-OST0000.exports.*.stats
          obdfilter.lustre-OST0000.exports.0@lo.stats=
          snapshot_time             1527168830.966629150 secs.nsecs
          read_bytes                182 samples [bytes] 4096 4194304 134897664
          write_bytes               1710 samples [bytes] 5 4194304 1198540888
          getattr                   335 samples [reqs]
          setattr                   6703 samples [reqs]
          punch                     3017 samples [reqs]
          destroy                   2000 samples [reqs]
          create                    71 samples [reqs]
          statfs                    2160 samples [reqs]
          get_info                  4 samples [reqs]
          

          So the difference it that after we drop connect, disconnect, preprw, commitrw, and ping.

          I did not try to create and use a target of type obdecho. So I don't have any comparison to show.

          jhammond John Hammond added a comment - - edited The only stats files affected here would be obdfilter.*.stats , obdfilter.*.exports.*.stats and obdecho.*.stats . For obdfilter here is a comparison for two racer runs. With the current obd ops based stats: # lctl get_param obdfilter.lustre-OST0000.stats obdfilter.lustre-OST0000.stats= snapshot_time 1527267354.328068245 secs.nsecs read_bytes 610 samples [bytes] 4096 4194304 800043008 write_bytes 2196 samples [bytes] 5 4194304 3410224606 setattr 13545 samples [reqs] punch 7682 samples [reqs] destroy 2281 samples [reqs] create 74 samples [reqs] statfs 234 samples [reqs] get_info 1 samples [reqs] connect 3 samples [reqs] disconnect 1 samples [reqs] preprw 2806 samples [reqs] commitrw 2806 samples [reqs] ping 422 samples [reqs] # lctl get_param obdfilter.lustre-OST0000.exports.*.stats obdfilter.lustre-OST0000.exports.0@lo.stats= snapshot_time 1527267369.060990116 secs.nsecs read_bytes 610 samples [bytes] 4096 4194304 800043008 write_bytes 2196 samples [bytes] 5 4194304 3410224606 setattr 13545 samples [reqs] punch 7682 samples [reqs] destroy 2281 samples [reqs] create 74 samples [reqs] statfs 237 samples [reqs] get_info 1 samples [reqs] disconnect 1 samples [reqs] preprw 2806 samples [reqs] commitrw 2806 samples [reqs] ping 428 samples [reqs] And after the OBD ops bases stats have been removed: # lctl get_param obdfilter.lustre-OST0000.stats obdfilter.lustre-OST0000.stats= snapshot_time 1527168813.867472974 secs.nsecs read_bytes 200 samples [bytes] 4096 4194304 231366656 write_bytes 1703 samples [bytes] 5 4194304 1220864892 getattr 337 samples [reqs] setattr 6358 samples [reqs] punch 2880 samples [reqs] destroy 2000 samples [reqs] create 71 samples [reqs] statfs 2148 samples [reqs] get_info 4 samples [reqs] # lctl get_param obdfilter.lustre-OST0000.exports.*.stats obdfilter.lustre-OST0000.exports.0@lo.stats= snapshot_time 1527168830.966629150 secs.nsecs read_bytes 182 samples [bytes] 4096 4194304 134897664 write_bytes 1710 samples [bytes] 5 4194304 1198540888 getattr 335 samples [reqs] setattr 6703 samples [reqs] punch 3017 samples [reqs] destroy 2000 samples [reqs] create 71 samples [reqs] statfs 2160 samples [reqs] get_info 4 samples [reqs] So the difference it that after we drop connect, disconnect, preprw, commitrw, and ping. I did not try to create and use a target of type obdecho. So I don't have any comparison to show.

          I'll preparing a comment to post here and in the commit message about what differences we'll see in the proc files.

          jhammond John Hammond added a comment - I'll preparing a comment to post here and in the commit message about what differences we'll see in the proc files.
          simmonsja James A Simmons added a comment - - edited

          You are my hero. I was just looking at tackling that work but have lacked the cycles to start it. Please be aware that some sites do collect this data to study it so remove with care.

          simmonsja James A Simmons added a comment - - edited You are my hero. I was just looking at tackling that work but have lacked the cycles to start it. Please be aware that some sites do collect this data to study it so remove with care.

          People

            wc-triage WC Triage
            jhammond John Hammond
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: