Skip to content

NIFI-5417: Add missing component status and metrics to S2SStatusReportingTask and PrometheusReportingTask#3554

Merged
YolandaMDavis merged 2 commits intoapache:masterfrom
mattyb149:NIFI-5417
Jul 11, 2019
Merged

NIFI-5417: Add missing component status and metrics to S2SStatusReportingTask and PrometheusReportingTask#3554
YolandaMDavis merged 2 commits intoapache:masterfrom
mattyb149:NIFI-5417

Conversation

@mattyb149
Copy link
Contributor

Thank you for submitting a contribution to Apache NiFi.

Please provide a short description of the PR here:

Description of PR

Adds missing status fields (run status, e.g.) and metrics (terminated thread count, e.g.) to SiteToSiteStatusReportingTask and PrometheusReportingTask. PrometheusMetricsUtil had CRLF line endings so I removed them, please ignore whitespace while reviewing, thanks!

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

For all changes:

  • Is there a JIRA ticket associated with this PR? Is it referenced
    in the commit message?

  • Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

  • Has your PR been rebased against the latest commit within the target branch (typically master)?

  • Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

  • Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
  • Have you written or updated unit tests to verify your changes?
  • If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
  • If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
  • If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
  • If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

  • Have you ensured that format looks appropriate for the output in which it is rendered?

Note:

Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

@MikeThomsen
Copy link
Contributor

@mattyb149 is this intended to address the granularity issue we discussed in the initial PR?

@mattyb149
Copy link
Contributor Author

No NIFI-6352 did that, this just extended from the fact that things like "terminated thread count" are available but aren't being reported by the ReportingTasks that are responsible for it.

I'll be writing a follow-on for the PrometheusReportingTask so we don't register the Gauges we don't need. They're all static members on the class and are all registered, even if we don't pick "All Components" as the strategy. I should've done it under NIFI-6352 but I didn't notice until after it went in. If I can get it changed before 1.10 I'll reopen the Jira and do the work under that.

{ "name" : "invocations", "type" : ["long", "null"]},
{ "name" : "processingNanos", "type" : ["long", "null"]}
{ "name" : "processingNanos", "type" : ["long", "null"]},
{ "name" : "counters", "type": { "type": "map", "values": "string" }}
Copy link
Contributor

Choose a reason for hiding this comment

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

@mattyb149 should executionNode also be included?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes I missed that one, thanks! Will update

@YolandaMDavis
Copy link
Contributor

YolandaMDavis commented Jul 10, 2019

@mattyb149 I took a look at this PR and things looked good. Below were my test cases:

Prometheus Reporting:

  1. Ensuring that values added in Prometheus Metrics Util were recognized and eventually made available via metrics endpoint.
  2. Ensuring new values also appeared in Prometheus server (via server scrape job)

SiteToSiteStatusReporting:

  1. Using local ports capturing SiteToSite data and review provenance for each component type were enhanced as applicable with new values
  2. Reviewing additional details content and schema

My only outstanding question is posted as inline comments related to executionNode (not clear if this was purposefully excluded from schema and docs?). I think once that's cleared we're good to go.

@YolandaMDavis
Copy link
Contributor

@mattyb149 thanks for the update all looks good

+1

Will squash and merge

@YolandaMDavis YolandaMDavis merged commit 0ccc346 into apache:master Jul 11, 2019
szaboferee pushed a commit to szaboferee/nifi that referenced this pull request Oct 7, 2019
…tingTask and PrometheusReportingTask (apache#3554)

* NIFI-5417: Add missing component status and metrics to S2SReportingTask and PrometheusReportingTask

* NIFI-5417: Added executionNode to schema and doc

This closes apache#3554

Signed-off-by: Yolanda M. Davis <yolanda.m.davis@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants