Skip to content

Commit 7d3c0d0

Browse files
authored
Merge pull request #69 from tzachshabtay/need_for_speed
performance improvements
2 parents 8399f62 + 6923172 commit 7d3c0d0

File tree

6 files changed

+160
-74
lines changed

6 files changed

+160
-74
lines changed

package-lock.json

Lines changed: 20 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
"react-dom": "^17.0.2",
5555
"react-json-view": "^1.21.1",
5656
"react-router-dom": "^5.2.0",
57+
"server-timing": "^3.3.1",
5758
"uuid": "^8.1.0"
5859
}
5960
}

src/client/kafka/messages/fetcher.tsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,11 @@ export class Fetcher extends React.Component<Props, State> {
157157
await this.updateSearch()
158158
if (cancelToken.Aborted) return
159159
this.props.url.Subscribe(this.onUrlChanged)
160-
await this.fetchMessages(10000, cancelToken)
160+
let timeout = 10000
161+
if (this.state.limit && this.state.limit > 100) {
162+
timeout = 20000
163+
}
164+
await this.fetchMessages(timeout, cancelToken)
161165
}
162166

163167
onFetchMessagesClicked = async () => {
@@ -238,7 +242,11 @@ export class Fetcher extends React.Component<Props, State> {
238242
if (offsets === undefined) {
239243
return
240244
}
241-
await this.setStateAsync({offset: parseInt(offsets.high) - this.state.limit})
245+
let offset = parseInt(offsets.high) - this.state.limit
246+
if (offset < parseInt(offsets.low)) {
247+
offset = parseInt(offsets.low)
248+
}
249+
await this.setStateAsync({offset})
242250
out = await this.fetchMessagesForPartition(topic, timeout, partition, out, cancelToken)
243251
}
244252
}
@@ -321,8 +329,8 @@ export class Fetcher extends React.Component<Props, State> {
321329
}
322330
const max = cursor + this.state.limit
323331
let limit = this.state.limit
324-
if (limit > 1000) {
325-
limit = 1000
332+
if (limit > 10000) {
333+
limit = 10000
326334
}
327335
if (cursor >= max) {
328336
this.props.onDataFetched(out)

src/client/kafka/messages/multi_topics_input.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ export class MultiTopicsInput extends React.Component<Props, State> {
115115
toTime={this.props.toTime}
116116
searchBy={this.props.searchBy}
117117
onDataFetched={this.props.onDataFetched}
118-
onDataFetchStarted={() => { this.setState({loadingMessages: true}); this.props.onDataFetchStarted} }
118+
onDataFetchStarted={() => { this.setState({loadingMessages: true}); this.props.onDataFetchStarted(AllPartitions)} }
119119
onDataFetchCompleted={() => this.setState({loadingMessages: false})}
120120
loadingMessages={this.state.loadingMessages}
121121
error={this.state.error ?? ""}

src/client/kafka/messages/single_topic_input.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ export class SingleTopicInput extends React.Component<Props, State> {
134134
toTime={this.props.toTime}
135135
searchBy={this.props.searchBy}
136136
onDataFetched={this.props.onDataFetched}
137-
onDataFetchStarted={() => { this.setState({loadingMessages: true}); this.props.onDataFetchStarted} }
137+
onDataFetchStarted={() => { this.setState({loadingMessages: true}); this.props.onDataFetchStarted(this.state.partition)} }
138138
onDataFetchCompleted={() => this.setState({loadingMessages: false})}
139139
loadingMessages={this.state.loadingMessages}
140140
error={this.state.error ?? ""}

0 commit comments

Comments
 (0)