Github user arina-ielchiieva commented on a diff in the pull request: https://github.com/apache/drill/pull/1029#discussion_r150086785 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/profile/ProfileResources.java --- @@ -93,13 +96,35 @@ public ProfileInfo(DrillConfig drillConfig, String queryId, long startTime, long this.time = new Date(startTime); this.foreman = foreman; this.link = generateLink(drillConfig, foreman, queryId); - this.query = query.substring(0, Math.min(query.length(), 150)); + this.query = extractQuerySnippet(query); this.state = state; this.user = user; this.totalCost = totalCost; this.queueName = queueName; } + private String extractQuerySnippet(String queryText) { + //Extract upto max char limit as snippet + String sizeCappedQuerySnippet = queryText.substring(0, Math.min(queryText.length(), QUERY_SNIPPET_MAX_CHAR)); + //Trimming down based on line-count + if ( QUERY_SNIPPET_MAX_LINES < sizeCappedQuerySnippet.split(System.lineSeparator()).length ) { + int linesConstructed = 0; + StringBuilder lineCappedQuerySnippet = new StringBuilder(); + String[] queryParts = sizeCappedQuerySnippet.split(System.lineSeparator()); + for (String qPart : queryParts) { + lineCappedQuerySnippet.append(qPart); + if ( ++linesConstructed < QUERY_SNIPPET_MAX_LINES ) { + lineCappedQuerySnippet.append(System.lineSeparator()); --- End diff -- Do we want to append with new line or maybe space for better readability?
---