Surya Hebbar has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/21683 )

Change subject: IMPALA-13304: Include aggregate instance-level metrics within 
experimental profile(V2)
......................................................................


Patch Set 12:

(9 comments)

http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile-test.cc
File be/src/util/runtime-profile-test.cc:

http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile-test.cc@1877
PS11, Line 1877: // Test aggregation of well-formed event sequences, during 
generation of J
> nit: Test aggregation of well-formed event sequences, during generation of
Done


http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile-test.cc@1919
PS11, Line 1919: // Test aggregation of incomplete event sequences, durin
> Add comment on what this test is about.
Done


http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile-test.cc@1977
PS11, Line 1977: or verifying
> Better to call the public ToJson() function?
The ToJson() is a virtual method in the RuntimeProfileBase, and there is no 
existing definition for it in AggregatedRuntimeProfile.


http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile.h
File be/src/util/runtime-profile.h:

http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile.h@848
PS11, Line 848:   /// Create an aggregated ru
> nit: Can be removed?
Done


http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile.h@880
PS11, Line 880:   virtual int GetNumInputProfiles() const override { return 
num_input_profiles_;
> nit: Can be removed?
Done


http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile.cc
File be/src/util/runtime-profile.cc:

http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile.cc@2736
PS11, Line 2736:   AggEventSequenceMap::const_iterator it = 
event_sequence_map_.find(name);
               :   if (it == event_sequence_map_.end()) return NULL;
               :   return &(AggEventSequence)it->second;
               : }*/
               :
               : void AggregatedRuntimeProfile::PrettyPrintSubclassCounters(
               :
> Lets remove this. Can add this back when we really need it in more relevant
Done


http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile.cc@3009
PS11, Line 3009: item : labels)
> Turn this into a constant and use it everywhere?
Thank you for noting this.

It would be useful to declare many such strings into constants.

static const std::string INFO_STRINGS;

An example of such replacement would look like this in the current 
runtime-profile-test.cc or other files.

  EXPECT_TRUE(!content.HasMember(RuntimeProfileBase::INFO_STRINGS));
  EXPECT_TRUE(!content.HasMember("event_sequences"));
  EXPECT_TRUE(!content.HasMember("summary_stats_counters"));
  EXPECT_TRUE(!content.HasMember("time_series_counters"));
  EXPECT_TRUE(!content.HasMember("child_profiles"));

For now, it looks inconsistent with other strings like "event_sequences", 
"summary_stats_counters", all of which have been used multiple times and can be 
replaced.

Considering how large the change and commit messages are already, I would 
suggest doing such a refactor of all constant strings in an upcoming patch like 
for the textual representation or a separate patch, with the many small TODO's 
mentioned here such as this in runtime-profile.cc.

 // TODO: IMPALA-9846: move to RuntimeProfile::PrettyPrintInfoStrings() once we 
move
 // 'info_strings_'.

  /// TODO: IMPALA-9846: info strings can be moved to RuntimeProfile once we 
remove
  /// callsites for this function on AggregatedRuntimeProfile.

If this inconsistency is agreeable, then I will replace "info_strings" constant 
in this change itself and leave others as they are for now.


http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile.cc@3014
PS11, Line 3014: 5;
> This array only has 1 element.
Done


http://gerrit.cloudera.org:8080/#/c/21683/11/be/src/util/runtime-profile.cc@3034
PS11, Line 3034:
> This is not needed if info_strings_json == (*parent)["info_strings"] (assig
When no required info strings are present, even then an empty object would be 
added without this condition.



--
To view, visit http://gerrit.cloudera.org:8080/21683
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I49e18a7a7e1288e3e674e15b6fc86aad60a08214
Gerrit-Change-Number: 21683
Gerrit-PatchSet: 12
Gerrit-Owner: Surya Hebbar <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Kurt Deschler <[email protected]>
Gerrit-Reviewer: Riza Suminto <[email protected]>
Gerrit-Reviewer: Surya Hebbar <[email protected]>
Gerrit-Comment-Date: Fri, 13 Dec 2024 14:34:52 +0000
Gerrit-HasComments: Yes

Reply via email to