-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add IO operations in progress to be exported in diskio module #22066
Add IO operations in progress to be exported in diskio module #22066
Conversation
Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually? |
1 similar comment
Since this is a community submitted pull request, a Jenkins build has not been kicked off automatically. Can an Elastic organization member please verify the contents of this patch and then kick off a build manually? |
💚 CLA has been signed |
@andresrc @unixsurfer Could you kindly review this PR? |
6ff8846
to
236f6f3
Compare
Pinging @elastic/integrations-services (Team:Services) |
236f6f3
to
a758720
Compare
@VertexC I am sorry but I'm not familiar with the development of metricbeats and therefore I can't perform a proper review. |
It is okay :) And thanks for posting this good-for-first issue. |
3570760
to
157d073
Compare
The diskio_linux fails in CI due to timeout issue. I only have mac (unix) environment and relevant tests might just skip locally. Do you have any idea on this timeout error? @fearful-symmetry =================================== FAILURES ===================================
____________________________ Test.test_diskio_linux ____________________________
self = <test_system.Test testMethod=test_diskio_linux>
@unittest.skipUnless(re.match("(?i)linux", sys.platform), "os")
def test_diskio_linux(self):
"""
Test system/diskio output on linux.
"""
self.render_config_template(modules=[{
"name": "system",
"metricsets": ["diskio"],
"period": "5s"
}])
proc = self.start_beat()
> self.wait_until(lambda: self.output_lines() > 0)
module/system/test_system.py:251:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <test_system.Test testMethod=test_diskio_linux>
cond = <function Test.test_diskio_linux.<locals>.<lambda> at 0x7f9365a1f510>
max_timeout = 10, poll_interval = 0.1, name = 'cond'
def wait_until(self, cond, max_timeout=10, poll_interval=0.1, name="cond"):
"""
Waits until the cond function returns true,
or until the max_timeout is reached. Calls the cond
function every poll_interval seconds.
If the max_timeout is reached before cond() returns
true, an exception is raised.
"""
start = datetime.now()
while not cond():
if datetime.now() - start > timedelta(seconds=max_timeout):
raise TimeoutError("Timeout waiting for '{}' to be true. ".format(name) +
> "Waited {} seconds.".format(max_timeout))
E beat.beat.TimeoutError: Timeout waiting for 'cond' to be true. Waited 10 seconds.
../libbeat/tests/system/beat/beat.py:363: TimeoutError |
Not sure, I imagine it's a deeper failure that the CI is just reporting as a timeout. |
157d073
to
76d8c47
Compare
Not sure why we're running into CI issues here.... |
jenkins, test this |
💚 Flaky test reportTests succeeded. Expand to view the summary
Test stats 🧪
|
@fearful-symmetry Hi, do you have any plan to merge this pr? I'm happy to merge from master and rebuild fields, but if it is not merged for certain time, new conflicts will occur. |
Hey, sorry about dropping this last week. We're good to go, it looks like. Just rebase the PR and I can approve it. @VertexC |
6a77ed4
to
73d33cb
Compare
jenkins, test this |
It looks like Lint is somehow blocked. Shall I force push again? @fearful-symmetry |
Try to merge from master again, yah. Not sure why the CI is blocked now. |
73d33cb
to
76aa317
Compare
jenkins, test this |
@VertexC while I fight with CI, one last thing: Can you add a changelog entry to |
9c9dd6d
to
1f5f442
Compare
Done :) |
jenkins, test this |
@fearful-symmetry does this need a backport? |
What does this PR do?
Add
io.ops
in fields exported by system.diskio in metricbeat.Why is it important?
As #20691 points out, we may need to calculate the queue time based on this new field
system.diskio.io.ops
.Checklist
- [ ] I have commented my code, particularly in hard-to-understand areas- [ ] I have made corresponding changes to the documentationRelated issues