Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Conversation

@iskakaushik
Copy link
Contributor

See flutter.dev/go/engine-cpu-profiling for details

@iskakaushik iskakaushik requested a review from liyuqian May 1, 2020 17:10
@auto-assign auto-assign bot requested a review from flar May 1, 2020 17:12
@iskakaushik iskakaushik requested a review from chinmaygarde May 1, 2020 17:59
Copy link
Member

@chinmaygarde chinmaygarde left a comment

Choose a reason for hiding this comment

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

Some initial comments. All minor, direction looks sound.

ui_thread.reset();
raster_thread.reset();
io_thread.reset();
profiler_thread.reset();
Copy link
Member

Choose a reason for hiding this comment

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

Profiling applies to all shells in the process. Ideally, there would only be one profiler in the process at any given time with the shells having to ability to turn this on or off. How about putting this thread by the concurrent message loop threads in DartVM (which is also process global) or just using the one of the threads in the concurrent thread pool?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@chinmaygarde I agree that there only needs to be one profiler for all the shells. Moving this to the concurrent thread loop is a more involved change, given that the concurrent thread loops don't have scheduling mechanisms (at fixed delays).

Mind if I file an issue for this and address it in a follow up change. I think this will be useful as-is.

Copy link
Member

Choose a reason for hiding this comment

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

Sounds good.

total_cpu_usage += current_thread_cpu_usage;
}

kernel_return_code = vm_deallocate(mach_task_self(), (vm_offset_t)threads,
Copy link
Member

Choose a reason for hiding this comment

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

This will be leaked if thread_info does not return KERN_SUCCESS above because of the early return. Consider using fml::ScopedCleanupClosure or a fml::UniqueObject for an RAII wrapper around threads.

Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, I think its a leak in their lib. I've moved to using an RAII container, I tried UniqueObject but given that the Free method in the traits would require me to wire in num_threads as well, I decided to use an RAII class.

mach_msg_type_number_t thread_info_count = THREAD_BASIC_INFO_COUNT;
kernel_return_code =
thread_info(threads[i], THREAD_BASIC_INFO,
(thread_info_t)&basic_thread_info, &thread_info_count);
Copy link
Member

Choose a reason for hiding this comment

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

Here and elsewhere, avoid C-style casts (go/fluttercpp#Casting).

Copy link
Contributor

Choose a reason for hiding this comment

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

TIL: go link can also have a hash anchor tag!


namespace flutter {

struct CpuUsageInfo {
Copy link
Member

Choose a reason for hiding this comment

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

Nit: CPUUsageInfo? The casing seems off either way. Your call.


namespace flutter {

struct CpuUsageInfo {
Copy link
Member

Choose a reason for hiding this comment

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

Please add docs in Doxygen format for these fields. Specifically, the following clarifications would help me.

  • Is num_threads the threads used by the process, shell, or more like nproc?
  • Is total CPU usage a percentage? Is it normalized to logical core count?

Copy link
Contributor

Choose a reason for hiding this comment

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

"Is it normalized to logical core count?" is especially important to clarify. Different platforms may report normalized or unnormalized results so we probably have to convert on our side. AFAIK, iOS can report 100% on a single-threaded process while adb can only report up to 25% on a single-threaded process if there are 4 cores.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done!

CpuUsage cpu_usage,
int num_samples_per_sec);

void Start();
Copy link
Member

Choose a reason for hiding this comment

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

bool Start() const; The return type because it would be easier for caller to check for errors and prefer const correctness always (go/fluttercpp#Use_of_const)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done!

// application. Sometimes the sampler can fail, hence the optional.
using CpuUsage = std::function<std::optional<CpuUsageInfo>(void)>;

class Profiler {
Copy link
Member

Choose a reason for hiding this comment

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

Here and elsewhere, docs in doxygen format.

Copy link
Contributor

Choose a reason for hiding this comment

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

@iskakaushik
Copy link
Contributor Author

cc: @AlbertWang0116 for situational awareness.

mach_msg_type_number_t thread_info_count = THREAD_BASIC_INFO_COUNT;
kernel_return_code =
thread_info(threads[i], THREAD_BASIC_INFO,
(thread_info_t)&basic_thread_info, &thread_info_count);
Copy link
Contributor

Choose a reason for hiding this comment

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

TIL: go link can also have a hash anchor tag!


namespace flutter {

struct CpuUsageInfo {
Copy link
Contributor

Choose a reason for hiding this comment

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

"Is it normalized to logical core count?" is especially important to clarify. Different platforms may report normalized or unnormalized results so we probably have to convert on our side. AFAIK, iOS can report 100% on a single-threaded process while adb can only report up to 25% on a single-threaded process if there are 4 cores.

// application. Sometimes the sampler can fail, hence the optional.
using CpuUsage = std::function<std::optional<CpuUsageInfo>(void)>;

class Profiler {
Copy link
Contributor

Choose a reason for hiding this comment

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


namespace flutter {

std::optional<flutter::CpuUsageInfo> CpuUsageIOS() {
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not very familiar with Objective C++: is there any specific reason why one can't define this function in a .cpp or .mm file?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved it to a .mm file.

}
const double current_thread_cpu_usage =
basic_thread_info.cpu_usage / static_cast<float>(TH_USAGE_SCALE);
total_cpu_usage += current_thread_cpu_usage;
Copy link
Contributor

Choose a reason for hiding this comment

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

I wonder if we also have to consider the difference between big (high performance) cores and small (high efficiency) cores? A 100% big core thread probably consumes more energy than a 100% small core thread (https://en.wikipedia.org/wiki/Apple_A12) so we might have to normalize accordingly. So far I couldn't Google any code that treats different cores separately so I'm Ok with this approach.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

very interesting point. I haven't considered this.

// initialized.
fml::MessageLoop::EnsureInitializedForCurrentThread();

// TODO (kaushikiska): enable Profiler thread only in debug configurations.
Copy link
Contributor

Choose a reason for hiding this comment

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

"in debug" -> "in debug and profile"?


// Return value is the total CPU time spent by all threads owned by the current
// application. Sometimes the sampler can fail, hence the optional.
using CpuUsage = std::function<std::optional<CpuUsageInfo>(void)>;
Copy link
Contributor

Choose a reason for hiding this comment

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

Rename CpuUsage to CpuUsageGenerator? My first glance of CpuUsage makes me think that it's the same as CpuUsageInfo.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Moved this to ProfileSample struct.

RunTask(task_delay);
}

void Profiler::RunTask(fml::TimeDelta task_delay) {
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: rename RunTask(task_delay) to SampleRepeatedly(sample_interval)? RunTask seems to suggest that it's running only once.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.

namespace flutter {

Profiler::Profiler(fml::RefPtr<fml::TaskRunner> profiler_task_runner,
CpuUsage cpu_usage,
Copy link
Contributor

Choose a reason for hiding this comment

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

What's the plan when we add more to the profiler, such as memory or gpu usages?

We can add GpuUsage, MemoryUsage, ..., to the initialization list but it can get very long.

Shall we just send in a Sampler instead of CpuUsage (or CpuUsageGenerator)? Each platform can implement its own Sampler where calling Sampler() returns a ProfileSample that currently only has cpu usages, but can later expand?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yup, makes sense.

#define TRACE_EVENT_ASYNC_BEGIN1(a, b, c, d, e) TRACE_ASYNC_BEGIN(a, b, c, d, e)
#define TRACE_EVENT_ASYNC_END1(a, b, c, d, e) TRACE_ASYNC_END(a, b, c, d, e)
#define TRACE_EVENT_INSTANT0(a, b) TRACE_INSTANT(a, b, TRACE_SCOPE_THREAD)
#define TRACE_EVENT_INSTANT1(a, b, k1, v1) \
Copy link
Contributor

Choose a reason for hiding this comment

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

TRACE_EVENT_INSTANT1 seems to be unused.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it's nice to have 0, 1 and 2 rather than just 0 and 2. If you feel strongly about this, I can remove it.

@iskakaushik iskakaushik force-pushed the ios-profiling branch 3 times, most recently from a0bfd17 to b6e8980 Compare May 6, 2020 00:00
Copy link
Contributor

@liyuqian liyuqian left a comment

Choose a reason for hiding this comment

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

Most look good! Left a few minor comments below. Defer the final LGTM to Chinmay as the threading issue seems to be the biggest concern so far.


// RAII holder for `thread_array_t` this is so any early returns in
// `ProfilerMetricsIOS::CpuUsage` don't leak them.
class MachThreads {
Copy link
Contributor

Choose a reason for hiding this comment

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

It seems that we can also do task_threads(mach_task_self(), &mach_threads.threads, &mach_threads.thread_count); inside the constructor of this class.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think it would make failing early by returning std::nullopt rather ugly. I left it as is for now.

double total_cpu_usage;
};

struct ProfileSample {
Copy link
Contributor

Choose a reason for hiding this comment

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

We may need doxygen docs for all public classes and functions.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done, i've added them for places where i think they would add value and left them out at places where i don't think they'd add more value over the method name for example.

Copy link
Member

Choose a reason for hiding this comment

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

BTW, I have found this plugin to be really useful in helping dealing with some of the more tedious aspects of generating documentation stubs https://packagecontrol.io/packages/DoxyDoxygen

ui_thread.reset();
raster_thread.reset();
io_thread.reset();
profiler_thread.reset();
Copy link
Member

Choose a reason for hiding this comment

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

Sounds good.

double total_cpu_usage;
};

struct ProfileSample {
Copy link
Member

Choose a reason for hiding this comment

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

BTW, I have found this plugin to be really useful in helping dealing with some of the more tedious aspects of generating documentation stubs https://packagecontrol.io/packages/DoxyDoxygen

@iskakaushik iskakaushik added severe: performance Relates to speed or footprint issues. waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. labels May 7, 2020
@fluttergithubbot
Copy link
Contributor

This pull request is not suitable for automatic merging in its current state.

  • The status or check suite Mac Android AOT Engine has failed. Please fix the issues identified (or deflake) before re-applying this label.
  • The status or check suite Mac Android Debug Engine has failed. Please fix the issues identified (or deflake) before re-applying this label.
  • The status or check suite Mac Web Engine has failed. Please fix the issues identified (or deflake) before re-applying this label.
  • The status or check suite Mac iOS Engine has failed. Please fix the issues identified (or deflake) before re-applying this label.

@fluttergithubbot fluttergithubbot removed the waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. label May 7, 2020
See flutter.dev/go/engine-cpu-profiling for details
@iskakaushik iskakaushik added the waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. label May 7, 2020
@fluttergithubbot
Copy link
Contributor

This pull request is not suitable for automatic merging in its current state.

  • The status or check suite Mac Web Engine has failed. Please fix the issues identified (or deflake) before re-applying this label.

@fluttergithubbot fluttergithubbot removed the waiting for tree to go green This PR is approved and tested, but waiting for the tree to be green to land. label May 7, 2020
@iskakaushik iskakaushik merged commit ede658e into flutter:master May 7, 2020
@iskakaushik iskakaushik deleted the ios-profiling branch May 7, 2020 15:11
@iskakaushik
Copy link
Contributor Author

"Mac Web Engine" failure was a flake. I've submitted this PR and will keep an eye out for LUCI failures.

engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 7, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...88b9d42

git log 3953c3c..88b9d42 --first-parent --oneline
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 7, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...88b9d42

git log 3953c3c..88b9d42 --first-parent --oneline
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 7, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...5e7d6d0

git log 3953c3c..5e7d6d0 --first-parent --oneline
2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203)
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 7, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...e5a7ca5

git log 3953c3c..e5a7ca5 --first-parent --oneline
2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157)
2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593)
2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206)
2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203)
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 7, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...15f72b8

git log 3953c3c..15f72b8 --first-parent --oneline
2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015)
2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157)
2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593)
2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206)
2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203)
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...23cca32

git log 3953c3c..23cca32 --first-parent --oneline
2020-05-07 [email protected] Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211)
2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015)
2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157)
2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593)
2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206)
2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203)
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...e7ee47d

git log 3953c3c..e7ee47d --first-parent --oneline
2020-05-08 [email protected] [web] Implement matrix parameter for linear gradient (flutter/engine#18208)
2020-05-08 [email protected] Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160)
2020-05-08 [email protected] Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212)
2020-05-08 [email protected] Refactor GLFW embedding to support headless mode (flutter/engine#18205)
2020-05-07 [email protected] Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211)
2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015)
2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157)
2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593)
2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206)
2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203)
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...403931f

git log 3953c3c..403931f --first-parent --oneline
2020-05-08 [email protected] Add FlValue (flutter/engine#18185)
2020-05-08 [email protected] [SkParagraph] Copy text height behavior to the Skia paragraph style (flutter/engine#18178)
2020-05-08 [email protected] [web] Implement matrix parameter for linear gradient (flutter/engine#18208)
2020-05-08 [email protected] Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160)
2020-05-08 [email protected] Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212)
2020-05-08 [email protected] Refactor GLFW embedding to support headless mode (flutter/engine#18205)
2020-05-07 [email protected] Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211)
2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015)
2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157)
2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593)
2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206)
2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203)
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request May 8, 2020
[email protected]:flutter/engine.git/compare/3953c3ccd15a...9193d8f

git log 3953c3c..9193d8f --first-parent --oneline
2020-05-08 [email protected] Roll src/third_party/skia 0dc207f836da..a14084ba1b41 (3 commits) (flutter/engine#18219)
2020-05-08 [email protected] Add FlValue (flutter/engine#18185)
2020-05-08 [email protected] [SkParagraph] Copy text height behavior to the Skia paragraph style (flutter/engine#18178)
2020-05-08 [email protected] [web] Implement matrix parameter for linear gradient (flutter/engine#18208)
2020-05-08 [email protected] Reland again "Remove layer integral offset snapping flutter#17112" (flutter/engine#18160)
2020-05-08 [email protected] Roll src/third_party/skia c66cd987f7c0..0dc207f836da (5 commits) (flutter/engine#18212)
2020-05-08 [email protected] Refactor GLFW embedding to support headless mode (flutter/engine#18205)
2020-05-07 [email protected] Manual Roll of Dart 39e0e75fcf...ce62ad2e8b (flutter/engine#18211)
2020-05-07 [email protected] Support EventChannel C++ plugin API for Linux/Windows (flutter/engine#17015)
2020-05-07 [email protected] Handle leak of message handle when no engine present (flutter/engine#18157)
2020-05-07 [email protected] add docs to platformviewios (and some drive-by changes) (flutter/engine#17593)
2020-05-07 [email protected] Roll src/third_party/skia 0066adefa97d..c66cd987f7c0 (4 commits) (flutter/engine#18206)
2020-05-07 [email protected] Roll src/third_party/skia edea19858ccc..0066adefa97d (3 commits) (flutter/engine#18203)
2020-05-07 [email protected] Remove the global engine entry timestamp (flutter/engine#18182)
2020-05-07 [email protected] Roll src/third_party/dart e86e4d61834a..ce62ad2e8b40 (13 commits) (flutter/engine#18201)
2020-05-07 [email protected] Roll src/third_party/skia 2871ab0727bf..edea19858ccc (3 commits) (flutter/engine#18198)
2020-05-07 [email protected] Fixed ChildSceneLayer elevation issue on Fuchsia. (flutter/engine#18144)
2020-05-07 [email protected] [profiling] CPU Profiling support for iOS (flutter/engine#18087)
2020-05-07 [email protected] Roll src/third_party/skia e3d1de7c5281..2871ab0727bf (1 commits) (flutter/engine#18197)
2020-05-07 [email protected] Roll src/third_party/dart 733153eb517c..e86e4d61834a (6 commits) (flutter/engine#18195)
2020-05-07 [email protected] Roll src/third_party/skia 3b2db26c59d6..e3d1de7c5281 (4 commits) (flutter/engine#18192)
2020-05-07 [email protected] Roll fuchsia/sdk/core/mac-amd64 from jMJqf... to 1MVsE... (flutter/engine#18194)
2020-05-07 [email protected] Roll fuchsia/sdk/core/linux-amd64 from RpHTv... to MhpFP... (flutter/engine#18191)
2020-05-07 [email protected] Roll src/third_party/skia 88d04cb51acf..3b2db26c59d6 (1 commits) (flutter/engine#18190)
2020-05-07 [email protected] Roll src/third_party/dart 4da5b40fb6dc..733153eb517c (23 commits) (flutter/engine#18188)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC [email protected] on the revert to ensure that a human
is aware of the problem.

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

cla: yes severe: performance Relates to speed or footprint issues.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants