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
Dev metrics: visualisation of queries in metrics #3891
Dev metrics: visualisation of queries in metrics #3891
Conversation
ed3a146
to
eba9d22
Compare
/kind feature |
eba9d22
to
61ffe63
Compare
return ( | ||
<Dropdown | ||
autocompleteFilter={autocompleteFilter} | ||
id="metrics-dropdown" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we can namespace this to odc-metrics-dropdownfield
|
||
const MetricsDropdown: React.FC<MetricsDropdownProps> = ({ patchQuery, runQueries, namespace }) => { | ||
const items = metricsQuery; | ||
const title: React.ReactNode = 'Select Query'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if we are not accepting title
to be changed from parent component, then the type can be string
); | ||
const disabledSeries = React.useMemo(() => _.map(queries, 'disabledSeries'), [ | ||
disabledSeriesMemoKey, | ||
]); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we are using this react.memo approach to improve the performance and eslint-disable
comment to avoid get lint errors, then its a good practice to enable it back after the usage.
]); | |
]); | |
/* eslint-enable react-hooks/exhaustive-deps */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only use eslint-disable-next-line
57007c4
to
6f379a6
Compare
/cc @openshift/team-devconsole-ux @serenamarie125 |
71e501a
to
2317dc6
Compare
Verified locally, looks good to me. |
/retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested it locally and its work fine as expected.
}); | ||
|
||
const mapDispatchToProps = (dispatch) => | ||
Object.assign( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Assign is unnecessary here.
disabledSeriesMemoKey, | ||
]); | ||
/* eslint-enable react-hooks/exhaustive-deps */ | ||
return queryStrings.join('') === '' ? ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: Prefer length 0 check.
return ( | ||
<Dropdown | ||
autocompleteFilter={autocompleteFilter} | ||
id="odc-metrics-dropdownfield" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do you need this is?
|
||
const ADD_NEW_QUERY = '#ADD_NEW_QUERY#'; | ||
|
||
interface StateProps { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see a mix between type and interface. Choose one and stick to it in the same file.
I don't think there is an agreement on preference overall but at least in the same file we should be consistent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
have made use of type across
|
||
const [metric, setMetric] = React.useState(''); | ||
React.useEffect(() => { | ||
if (metric !== ADD_NEW_QUERY) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Won't this run the first time through with an empty string metric?
2317dc6
to
b28e8fb
Compare
@christianvogt thanks for the review, have fixed review comments PTAL. |
/retest Please review the full test history for this PR and help us cut down flakes. |
9 similar comments
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/retest Please review the full test history for this PR and help us cut down flakes. |
/hold |
@invincibleJai couple of questions:
|
@serenamarie125 pagination control in the gif is for legends.
yes we can have a border, it'll wrap pagination as well right. Let me know your thoughts, it'll be as in below screenshot we have associated PR #3955 , this adds PromQL editor PTAL |
5f48659
to
9621349
Compare
9621349
to
8bf261d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@invincibleJai this looks great, thanks for acting on the feedback!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/retest |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: christianvogt, invincibleJai, karthikjeeyar, serenamarie125, TheRealJon, vikram-raj The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/hold cancel |
/retest Please review the full test history for this PR and help us cut down flakes. |
1 similar comment
/retest Please review the full test history for this PR and help us cut down flakes. |
Dev metrics: visualization of queries in the metrics tab
Tracks:
Gif: