Commit graph

241 commits

Author SHA1 Message Date
Ben Konyi ee5837aa7a Revert "[ Service ] Update VM service message to not reference Observatory"
This reverts commit f9147d933e.

TEST=N/A

Change-Id: Idef34b70f1066ddf79d02588dfba7caeec443e7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234325
Reviewed-by: Dan Field <dnfield@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-02-24 18:32:14 +00:00
Kenzie Davisson d0dff0e9ba Revert "Add DevTools Server test and test driver to DDS"
This reverts commit 02bff5bde2.

Reason for revert: broken tests. (e.g. https://ci.chromium.org/ui/p/dart/builders/ci.sandbox/pkg-mac-release/20638/overview)

Original change's description:
> Add DevTools Server test and test driver to DDS
>
> Bug: https://github.com/dart-lang/sdk/issues/48300
> Change-Id: I3b72274d111489448a482d65eb7cc23a9f263edf
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/233320
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>

TBR=bkonyi@google.com,kenzieschmoll@google.com

Change-Id: Iaca6b34a4e55ddd7b984b49821f3cc95337d696a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/48300
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/234114
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
2022-02-23 23:46:44 +00:00
Kenzie Schmoll 02bff5bde2 Add DevTools Server test and test driver to DDS
Bug: https://github.com/dart-lang/sdk/issues/48300
Change-Id: I3b72274d111489448a482d65eb7cc23a9f263edf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/233320
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
2022-02-23 21:09:04 +00:00
Ben Konyi f9147d933e [ Service ] Update VM service message to not reference Observatory
See https://github.com/dart-lang/sdk/issues/46756

TEST=Existing

Change-Id: Ib71bf00d667369d7438a4547ae444951ec0979df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/233504
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-02-18 20:53:52 +00:00
Alexander Thomas 30beab0f43 [infra] Add OWNERS to the Dart SDK
* Add team "groups" in tools/OWNERS_<group name>.
* Add top-level OWNERS as a fallback.
* Add OWNERS for all top-level directories.
* Add OWNERS to all packages.

For additional background information see go/dart-sdk-owners.

TEST=No op until code-owners is enabled.
Bug: b/200915407
Change-Id: I7fe6116cc599c749cd50ca16151d6d6a801d99d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/229147
Reviewed-by: Jonas Termansen <sortie@google.com>
2022-02-14 14:06:34 +00:00
Elliott Brooks a6c96a4707 Allow Dart DevTools to be embedded in Chrome DevTools.
Change-Id: Iff97f9dbc432ed926d668ac8339c32b679e316ed
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232482
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Kenzie Davisson <kenzieschmoll@google.com>
2022-02-10 23:52:41 +00:00
Nate Bosch 33e174084a Replace Uri.scheme == with Uri.isScheme
Use `hasScheme` in place of comparing against the empty string, and
`isScheme` to compare against all other schemes.

TEST=No behavior changes.

Change-Id: Ifc9fd13c6cf37933ebd4a754c4b500dedbcb291b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231185
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2022-02-08 21:38:57 +00:00
Kenzie Schmoll deb9cd31e7 Add missing 'help' option to DevTools server arg parser.
This option existed in the previous impl of devtools server: https://github.com/flutter/devtools/blob/v2.10.0/packages/devtools_server/lib/src/server.dart#L507-L516

Change-Id: Icdc2f1b29e9128531a51fbc471c7b52e761e8f31
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232122
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Commit-Queue: Kenzie Davisson <kenzieschmoll@google.com>
2022-02-08 19:15:56 +00:00
Jason Simmons 779c28db7a [ DDS ] Fix a null safety error in memory_profile.dart
See https://github.com/flutter/flutter/issues/97588

Bug: 97588
Change-Id: I95fc1b50b936b7d15d674cc7e1c6908975989d47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231533
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-02-04 01:11:46 +00:00
Kenzie Schmoll a1f0f497a4 Add a script to serve a local DevTools build
Change-Id: I499b45830bacf8899c5db8d776f7a6c3a47e53b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231362
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Kenzie (Schmoll) Davisson <kenzieschmoll@google.com>
2022-02-03 18:03:18 +00:00
Danny Tuppeny 692f9c28eb [dds] Ensure thread startup is not handled twice in DAP when attaching
Should fix the flakes seen in https://github.com/dart-lang/sdk/issues/48274 caused by Isolate PauseStart events arriving during initialization but being delayed until initialization complete, and then auto-resuming isolates that ere deliberately being left paused.

Change-Id: Iee32731b92fe96b6b41e7e78c01af2f5e843ea92
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231460
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-02-03 17:41:46 +00:00
Danny Tuppeny ddadc8d7e4 [dds] Improve DAP test cleanup by retrying deletes where Windows may still have files locked
Fixes at least part of https://github.com/dart-lang/sdk/issues/48274.

Change-Id: I3a31f8149d00729afe4d3c86ee38892ce90625c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231240
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-02-03 17:41:26 +00:00
Danny Tuppeny 0a5da6814d [dds] Enable verbose output in DAP integration tests
See https://github.com/dart-lang/sdk/issues/48274.

Change-Id: Ia2c0bed90e9f31b99a7074f397fc508abcf49071
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231301
Reviewed-by: Ben Konyi <bkonyi@google.com>
2022-02-02 17:54:10 +00:00
Ben Konyi f8ec0f405b [ DDS ] Fix LateInitializationError in memory_profile.dart
Fixes https://github.com/flutter/flutter/issues/97588

Change-Id: I67f7bf20464bea105fa12fae99b6e4912899a1f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/231180
Reviewed-by: Jason Simmons <jsimmons@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-02-01 23:16:15 +00:00
Ben Konyi d1baf327a1 [ DDS / CLI ] Add serveDevToolsWithArgs to devtools_server library
Also moves ArgParser creation for `dart devtools` from dartdev to
devtools_server

Change-Id: I26e0c1a14eeccda163c9e62a240c4bd57a13f382
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/230541
Reviewed-by: Kenzie (Schmoll) Davisson <kenzieschmoll@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-28 00:02:01 +00:00
Ben Konyi 0c2079561b [ DDS ] Handle case where requested DDS port is already in use
Instead of hanging with no output to the console, a useful error message
is output to the console before shutting down the VM process.

Fixes https://github.com/dart-lang/sdk/issues/48160

Change-Id: Ib37c0cdf8b1bae6f164abff4a3b3100e944d8a3c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228961
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-19 22:43:37 +00:00
Danny Tuppeny ff7058162b [dds] Fix misleading type in DAP comment
Change-Id: Ia79ec0ea3b7191619b905af91d7ff49fa1447753
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228921
Reviewed-by: Ben Konyi <bkonyi@google.com>
2022-01-19 20:36:23 +00:00
Danny Tuppeny 8ad21c037c [dds] Fix DAP stack frame parsing for Windows
Fixes https://github.com/dart-lang/sdk/issues/48166.

Change-Id: I6aa28f7123906e9e2ce01615f975d97670a7c99d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228820
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-19 17:18:35 +00:00
Ben Konyi 3b736b8460 [ package:dds ] Migrate package:devtools_server functionality under package:dds/devtools_server.dart
Will allow for us to remove dependencies on package:devtools_server in
various packages.

Change-Id: I055cc7bb05d5b4ce0071e3f88a71cb9596e76c74
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228022
Reviewed-by: Kenzie (Schmoll) Davisson <kenzieschmoll@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-18 22:42:05 +00:00
Danny Tuppeny 410a1fbec5 [dds] Attach file/line/col metadata to DAP OutputEvents for detected call stacks
Change-Id: Ia91f40aaf244d892d2ff5ffb0e4a1e47f8ad9068
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/228040
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-18 18:26:05 +00:00
Ben Konyi ea48265725 Reland "[ VM / Service ] Omit private fields from service responses by default"
Adds better error handling in DDS to prevent google3 breakages due to
Flutter binary update lag times.

This reverts commit 28e958febb.

TEST=N/A

Change-Id: Ida454f0ef3caeedd1b0326c37fef58d4b73557d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/227620
Reviewed-by: Siva Annamalai <asiva@google.com>
2022-01-11 23:35:28 +00:00
Danny Tuppeny 05c1af4e42 [dds] Remove breakpoints/pause-on-exception and resume when detaching from an attached process via DAP
Change-Id: I650e98fb15278d3b9685cbd0430c683f91910f09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/227300
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-11 17:57:54 +00:00
Ivan Inozemtsev 28e958febb Revert "Reland "[ VM / Service ] Omit private fields from service responses by default""
This reverts commit 91a496e5db.

Reason for revert: breaks hot reloads internally

Original change's description:
> Reland "[ VM / Service ] Omit private fields from service responses by default"
>
> This reverts commit 7d39d2dd51.
>
> TEST=N/A
>
> Change-Id: I2119c841719c77be5380857ce209532ed036bd0e
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/226322
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Ben Konyi <bkonyi@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I6e751343244a4788a1f080ea1aef5fdd18417109
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/227503
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ivan Inozemtsev <iinozemtsev@google.com>
2022-01-11 14:06:04 +00:00
Ben Konyi 9f5ef6d5bc [ DDS ] Move package:dds/vm_service_extensions.dart into package:dds_service_extensions
Reduces dependency complexity for tools which don't need the full
contents of package:dds

Change-Id: Ib9c5ce93eea72421f56114ab8a8efaa0dca6ae02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/225240
Reviewed-by: Kenzie (Schmoll) Davisson <kenzieschmoll@google.com>
2022-01-10 21:11:33 +00:00
Ben Konyi 5b4acc8879 [ package:dds ] Update DDS pubspec and CHANGELOG for 2.1.7 release
Fixes https://github.com/dart-lang/sdk/issues/47978

Change-Id: I7a84453643f4ded7a71780606b8496c579046abb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/226282
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2022-01-07 22:14:56 +00:00
Danny Tuppeny 1096a554c6 [dds] Respond to launchRequest earlier, remove enableAsserts, fix test file name
Change-Id: I5182cb517476af05bfb9b0a9ca89c027cf9d1e04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224529
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-06 18:07:55 +00:00
Ben Konyi 91a496e5db Reland "[ VM / Service ] Omit private fields from service responses by default"
This reverts commit 7d39d2dd51.

TEST=N/A

Change-Id: I2119c841719c77be5380857ce209532ed036bd0e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/226322
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2022-01-06 18:05:36 +00:00
Ben Konyi 83445c1295 [ package:dds / package:vm_service ] Bump versions for release
TEST=N/A

Change-Id: Ifa4bfc9addf03e1cc357d24f0f6b6d905fdaa6b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224820
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-20 23:30:55 +00:00
Ben Konyi 0c071662a7 [ VM / Service ] Add support for streaming CPU samples with specific
user tags

TEST=cpu_sample_streaming_test.dart

Change-Id: Ia983217ae2a5da8c3252fafbed8197b4f4a20e2b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224040
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-17 00:15:09 +00:00
Sam Rawlins 6cde2fb662 DDS: Add missing returns to nullably-typed functions
Bug: https://github.com/dart-lang/sdk/issues/46656
Change-Id: I130903d6c009d60bcf3c1fee2378abb96c28714f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/224381
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-16 18:43:09 +00:00
Danny Tuppeny ebe06b7ccd [dds] Add support for additional VM args in DAP
Change-Id: Ib5c17e4f1881b3ca2c0fec72cc93178aaada3f60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221800
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-02 17:16:07 +00:00
Danny Tuppeny 167f83a46b [dds] Add support for passing environment variables to DAP launches
Change-Id: Ie8f9e00d14cb04719b39238a669d86e9540d8189
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221941
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-02 17:14:07 +00:00
Danny Tuppeny 66d2bbab07 [dds] Add a "customTool" option to DAP to allow overriding the dart tool
Change-Id: I5842b85d34af288ad48f4c019bd3cd5cef498487
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221625
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-12-01 17:27:16 +00:00
Danny Tuppeny 08db718290 [dds] Resolve dart: URIs to SDK file paths and back again in DAP
This fixes two issues:

1. When a user navigates into SDK sources using the analyzer (Go-to-Definition) and sets a breakpoint, we map it to a URI that the VM understands
2. When the VM breaks inside an SDK source, we map it back to a local file path (so that the user doesn't end up with two versions of the same file - one downloaded, and one the analyzer sent them to)

Change-Id: Ic1bdbed29196f98e612d81c383ad31ce241446b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221082
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-11-30 16:46:55 +00:00
Nate Bosch 64ebe56f5f Add utf8 decoded context on ascii decode failures
Previously when a process emits unexpected content on `stdout` during startup
the `FormatException` was not useful, it would look something like:

```
FormatException: Invalid value in input: 226
dart:convert                                                 AsciiCodec.decode
package:dds/src/dap/protocol_stream_transformers.dart 91:28  PacketTransformer._parseHeaders
package:dds/src/dap/protocol_stream_transformers.dart 40:25  PacketTransformer.bind.<fn>.<fn>
```

When the failure comes form the ascii decode, give another attempt at
decoding with utf8 since that is a common character set for tool output.
Use that in the message for the exception to make it more useful for the
reader.

Now the failure will look like:

```
FormatException: Unable to decode headers with ascii. The stream has utf8 content:
Downloading package sky_engine...                                  472ms
Downloading flutter_patched_sdk tools...                           629ms
Downloading flutter_patched_sdk_product tools...                   615ms
Downloading linux-x64 tools...                                   1,782ms
Downloading linux-x64/font-subset tools...                         237ms
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Warning
──────────────────────────────────────────────────────────────────────────────
Your Flutter application is created using an older version of the Android
embedding. It is being deprecated in favor of Android embedding v2. Follow the
steps at

https://flutter.dev/go/android-project-migration

to migrate your project. You may also pass the --ignore-deprecation flag to
ignore this check and continue with the deprecated v1 embedding. However,
the v1 Android embedding will be removed in future versions of Flutter.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Content-Length: 518
Content-Type: application/vscode-jsonrpc; charset=utf-8


package:dds/src/dap/protocol_stream_transformers.dart 95:7   PacketTransformer._parseHeaders
package:dds/src/dap/protocol_stream_transformers.dart 40:25  PacketTransformer.bind.<fn>.<fn>
```

Change-Id: I73dcd2e3de53c4af63ddfa0032a171f311be22d5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221221
Auto-Submit: Nate Bosch <nbosch@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-11-29 21:27:04 +00:00
Michal Terepeta 7d39d2dd51 Revert "[ VM / Service ] Omit private fields from service responses by default"
This reverts commit 75abd86407.

Reason for revert: Breaks internal tests (http://b/207612278)

Original change's description:
> [ VM / Service ] Omit private fields from service responses by default
>
> Service responses and events previously could include "private"
> properties, which have names starting with "_". This change removes
> these properties from service objects unless explicitly requested via a
> private parameter.
>
> See go/smaller-dart-vm-service-responses for response size reduction
> data.
>
> TEST=Existing service suite
>
> Change-Id: Ia65b14872e798eaa843f7d180c57721b82371d0b
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221143
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I0b015baadfcdf4211426efa9a92804b163f88649
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221280
Reviewed-by: Michal Terepeta <michalt@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
Commit-Queue: Michal Terepeta <michalt@google.com>
2021-11-25 10:28:33 +00:00
Ben Konyi 75abd86407 [ VM / Service ] Omit private fields from service responses by default
Service responses and events previously could include "private"
properties, which have names starting with "_". This change removes
these properties from service objects unless explicitly requested via a
private parameter.

See go/smaller-dart-vm-service-responses for response size reduction
data.

TEST=Existing service suite

Change-Id: Ia65b14872e798eaa843f7d180c57721b82371d0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/221143
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2021-11-24 00:34:31 +00:00
Ben Konyi 46f9ae9568 [ VM / Service ] Stream light-weight version of CpuSamples for CPU
profiler events.

`Event.cpuSamples` is now a `CpuSamplesEvent` rather than a `CpuSamples`
object, where `CpuSamplesEvent` returns `(@Object|NativeFunction)[]` rather
than `(@Func|NativeFunction)[]`, resulting in a smaller JSON payload.

TEST=get_object_rpc_test.dart,get_cached_cpu_samples_test.dart

Change-Id: I1ad5e3df8840b8c41735d10c6c8669f6503e54a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219284
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-11-18 19:45:26 +00:00
Ben Konyi 0cad0e7224 Reland "[ VM / Service ] Add setIsolatePauseMode RPC"
This reverts commit 6ae9f31081.

TEST=N/A

Change-Id: I98dcee3002f9f0882b1bbd5ad461d28ba2c874f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220485
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-11-17 16:17:24 +00:00
Danny Tuppeny 51df1855ff [dds] Add DAP support for 'hotReload' custom request that calls reloadSources
Change-Id: I413cd9ce8f72e97d14a3fb7762f98833a5991a1d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219793
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-11-15 15:42:02 +00:00
Ben Konyi 6ae9f31081 Revert "Reland "[ VM / Service ] Add setIsolatePauseMode RPC""
This reverts commit 5de4830a4e.

Reason for revert: Unable to roll into google3

Original change's description:
> Reland "[ VM / Service ] Add setIsolatePauseMode RPC"
>
> This reverts commit d21897b88d.
>
> Reason for revert: Reland before fixing failures in google3 (requires copybara update of package:vm_service which requires this change to have already been landed in the SDK).
>
> Original change's description:
> > Revert "[ VM / Service ] Add setIsolatePauseMode RPC"
> >
> > This reverts commit cad8a34d83.
> >
> > Reason for revert: broke the g3 cbuild, see cbuild logs
> > (Error: The method 'setIsolatePauseMode' isn't defined for the class 'VmServiceInterface')
> >
> > Original change's description:
> > > [ VM / Service ] Add setIsolatePauseMode RPC
> > >
> > > Allows for service clients to set pause behaviors on a per-isolate
> > > basis at runtime. setIsolatePauseMode is a more general version of
> > > setExceptionPauseMode and setExceptionPauseMode has been marked as deprecated.
> > >
> > > TEST=pause_on_exceptions_*_test.dart,should_pause_on_exit_test.dart
> > >
> > > Change-Id: I09d80aa2123791dd74d02441c162c19cc0486955
> > > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219580
> > > Commit-Queue: Ben Konyi <bkonyi@google.com>
> > > Reviewed-by: Siva Annamalai <asiva@google.com>
> >
> > TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com
> >
> > Change-Id: Ic326c54e0fd682e382bd70e36d87467d4148c990
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220067
> > Reviewed-by: Siva Annamalai <asiva@google.com>
> > Commit-Queue: Siva Annamalai <asiva@google.com>
>
> # Not skipping CQ checks because this is a reland.
>
> Change-Id: I0e25654e1991b7246cd413454ef45594d36f4bde
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220127
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com

Change-Id: I9f1a2e81c99bfb90ddf0b4298bcb6c60e7e69dd3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220130
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-11-13 00:01:53 +00:00
Ben Konyi 5de4830a4e Reland "[ VM / Service ] Add setIsolatePauseMode RPC"
This reverts commit d21897b88d.

Reason for revert: Reland before fixing failures in google3 (requires copybara update of package:vm_service which requires this change to have already been landed in the SDK).

Original change's description:
> Revert "[ VM / Service ] Add setIsolatePauseMode RPC"
>
> This reverts commit cad8a34d83.
>
> Reason for revert: broke the g3 cbuild, see cbuild logs
> (Error: The method 'setIsolatePauseMode' isn't defined for the class 'VmServiceInterface')
>
> Original change's description:
> > [ VM / Service ] Add setIsolatePauseMode RPC
> >
> > Allows for service clients to set pause behaviors on a per-isolate
> > basis at runtime. setIsolatePauseMode is a more general version of
> > setExceptionPauseMode and setExceptionPauseMode has been marked as deprecated.
> >
> > TEST=pause_on_exceptions_*_test.dart,should_pause_on_exit_test.dart
> >
> > Change-Id: I09d80aa2123791dd74d02441c162c19cc0486955
> > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219580
> > Commit-Queue: Ben Konyi <bkonyi@google.com>
> > Reviewed-by: Siva Annamalai <asiva@google.com>
>
> TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com
>
> Change-Id: Ic326c54e0fd682e382bd70e36d87467d4148c990
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220067
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Siva Annamalai <asiva@google.com>

# Not skipping CQ checks because this is a reland.

Change-Id: I0e25654e1991b7246cd413454ef45594d36f4bde
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220127
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-11-12 23:24:08 +00:00
Siva Annamalai d21897b88d Revert "[ VM / Service ] Add setIsolatePauseMode RPC"
This reverts commit cad8a34d83.

Reason for revert: broke the g3 cbuild, see cbuild logs
(Error: The method 'setIsolatePauseMode' isn't defined for the class 'VmServiceInterface')

Original change's description:
> [ VM / Service ] Add setIsolatePauseMode RPC
>
> Allows for service clients to set pause behaviors on a per-isolate
> basis at runtime. setIsolatePauseMode is a more general version of
> setExceptionPauseMode and setExceptionPauseMode has been marked as deprecated.
>
> TEST=pause_on_exceptions_*_test.dart,should_pause_on_exit_test.dart
>
> Change-Id: I09d80aa2123791dd74d02441c162c19cc0486955
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219580
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=bkonyi@google.com,rmacnak@google.com,asiva@google.com

Change-Id: Ic326c54e0fd682e382bd70e36d87467d4148c990
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220067
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2021-11-11 23:32:42 +00:00
Ben Konyi cad8a34d83 [ VM / Service ] Add setIsolatePauseMode RPC
Allows for service clients to set pause behaviors on a per-isolate
basis at runtime. setIsolatePauseMode is a more general version of
setExceptionPauseMode and setExceptionPauseMode has been marked as deprecated.

TEST=pause_on_exceptions_*_test.dart,should_pause_on_exit_test.dart

Change-Id: I09d80aa2123791dd74d02441c162c19cc0486955
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219580
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-11-11 20:05:51 +00:00
Danny Tuppeny 8809779d80 [dds] Handle "Service Disappeared" errors from DDS/VM Service during shutdown
Change-Id: I1ddc59c56778461d5f42b210422eb24ba2f6da7b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/220005
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-11-11 18:03:41 +00:00
Danny Tuppeny c12ef90b23 [dds] Add a link to Flutter DAP docs in Dart DAP docs
Change-Id: Ia42bff783c7242893d545a7ada6ee24e6888a07a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/219785
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-11-11 15:47:29 +00:00
Ahmed Ashour d041cf0478 Remove extra the, be and of
Fixes #https://github.com/dart-lang/sdk/issues/47504

TEST=No tests needed, only comments affected.

Change-Id: Ie096307b5ce314d328fea6780f396aaa226ad3b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216182
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2021-10-20 09:29:01 +00:00
Danny Tuppeny 1bfa0bb8dd [dds] Wrap DAP dart.log message in an object for future extensibility
Change-Id: Ifbff825751f7456645b28f23684447e1271e4ece
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/216290
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-10-12 15:17:00 +00:00
Danny Tuppeny 1cc4c11257 Add changelog for DAP classes + some docs on DAP
Change-Id: Ic74f02ec29b45c70dcf71f5d395d2bf80b85a269
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215552
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-10-06 12:54:18 +00:00
Danny Tuppeny 98ee47a11a [dds] Export DAP classes required to build new debug adapters externally
Change-Id: I7bb05b2f467bad5e522898dfaa3d0f1e74c42b58
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215081
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-10-01 16:31:34 +00:00
Danny Tuppeny df67dc892b [dds] Add some basic test reporting for DAP test adapter
Change-Id: I39ca29ee5809fd0d6ef30ee163298f66749bed0b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/215080
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-10-01 16:31:34 +00:00
Ben Konyi b8533e6b09 [ package:dds ] Fix issue where cancelling multiple streams with the same name would throw a StateError
Fixes https://github.com/flutter/devtools/issues/3302

TEST=test/regress_devtools_issue_3302_test.dart

Change-Id: Ica0665c8a48cdb881ecdf7e3985660513c4b98b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214662
Reviewed-by: Kenzie Schmoll <kenzieschmoll@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-27 16:35:53 +00:00
Danny Tuppeny 4389cf7bba [dds] Add support for services/service extensions to DAP
Change-Id: I4f63fd60bf2128c8e88c999c0963b8a1e5304178
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/214281
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-24 11:53:15 +00:00
Danny Tuppeny b68ccc9a39 [dartdev] Add a "dart debug_adapter" command to run the DAP server from DDS
Change-Id: Icf4442929f848f7f927e84c999f09206e3fd0704
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213640
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-17 16:09:49 +00:00
Danny Tuppeny 35d5f857ab [dds] Add a DAP debug adapter that runs "dart test" and passes package:test JSON back
Change-Id: I2619df1d514529457a2035f40eecc5b33f52abd2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212576
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-15 15:11:25 +00:00
Ahmed Ashour d6975c1905 master branch to main
Fixes #47190

TEST=None, only markdown files where edited.

Change-Id: Ife204f9c792b6bce30d0cd7bf2260ced11c8f2b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/213049
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2021-09-15 06:22:23 +00:00
Lasse R.H. Nielsen f7e4886ad2 Make dds package not use ?. for a static call.
This should have been a warning since null safety
(or arguably since 2.0), but analyzer and compilers
didn't display the warning.

Prepare the package for such usage now being enforced and a warning
or even an error.

Change-Id: I73a852b88dabcaa1396aeec08f33856668e31fe9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212830
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Danny Tuppeny <danny@tuppeny.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-09-09 15:24:01 +00:00
Danny Tuppeny e161187728 [dds] Refactor some DAP classes in preperation for "dart test" adapter
Change-Id: Ice48b45c0ad11a1981e8e4115bb8de6d009d7b5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212062
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-07 14:03:03 +00:00
Ben Konyi 3ff52042ea [ package:dds ] Silently handle exceptions raised within RPC request
handlers

Fixes https://github.com/flutter/flutter/issues/84113

Change-Id: I416308845c5c7f9a1bb547b6429f1e9d49393583
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/212268
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-09-01 23:16:07 +00:00
Ben Konyi 492d061332 [ package:dds ] Add missing RPCs and responses to DDS protocol
Change-Id: I884c62e2be4159bc588ffa1bba3d8695b0cef3f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208300
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-09-01 22:31:37 +00:00
Danny Tuppeny 2d8764a557 [dds] Don't automatically resume when attaching to processes via DAP
Change-Id: I8b0fd4b36a9dd229226046a74e031de005908417
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210920
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-25 16:37:52 +00:00
Danny Tuppeny eff9280e55 [dds] Add support for vmServiceInfoFile to DAP attachRequest
Change-Id: Ibc3e4aef140cb2a2b061bb91b0328230ca70053d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210861
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-25 00:47:34 +00:00
Ben Konyi c7fe9ada2f Reland "[ package:dds ] Add support for caching CPU samples based on UserTag"
This reverts commit ada4278fd5.

TEST=pkg/dds/test/get_cached_cpu_samples_test.dart

Change-Id: I771410c8647fc1eb721c5aeb325c7a595430435c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209120
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-08-25 00:04:04 +00:00
Danny Tuppeny 63f1fb02a4 [dds] Support attachRequest in Dart CLI DAP
Change-Id: I4bcd7483ab9f3ed8dd839bd69b59d21f8139c582
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210724
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-23 23:22:48 +00:00
Danny Tuppeny 30a3b9c716 [dds] Improve error handling of calling getters + toString() display in DAP variables
Change-Id: I5b93667925a7f4a6da9edd8f5c94e56b1dbff6d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209963
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-18 21:07:04 +00:00
Danny Tuppeny 7a4fbdf88f [dds] Support logging VM Service traffic to the client from DAP
Change-Id: Id9f6b2158dcf1603468b989ed2f900b390b9b259
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209546
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-18 20:55:53 +00:00
Danny Tuppeny 52e94d1bbb [dds] Improve DAP evaluation errors for Watch window
+ allow trailing semicolons in evaluation expressions.

Change-Id: Id7b7305ecaf7035ae445100a5f1e6d7010301067
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209960
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-18 20:55:23 +00:00
Devon Carew 3365b77ac2 use code from package:devtools_shared
Change-Id: Ie16400c7c216fb165fb5c65a0150e37b5512ef69
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/210161
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2021-08-13 21:54:01 +00:00
Danny Tuppeny c010c1d54f [dds] Add support for showing Maps in variablesRequests for DAP
Change-Id: I92379f4f9d300d2cdbd209bb77259acdcad7a089
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209914
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-08-12 20:27:30 +00:00
Danny Tuppeny 57e41b122e [dds] Include evaluateNames in returned variables
Change-Id: I26173d7b618baf431a9fa01d6e8461800427b015
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209912
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-12 20:27:30 +00:00
Danny Tuppeny 659464ac3c [dds] Add support for Log Points to DAP
Change-Id: I74dca1871d3c6b826aafecbb6425604d43b9262f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209704
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-12 00:32:27 +00:00
Ben Konyi 83283a553e [ package:dds ] Prevent invalid DDS instance from being returned after
shutdown during initialization

Subtle event queue execution ordering could result in an invalid DDS
instance being returned with the HTTP server instance not yet being
initialized. Calling shutdown() on this instance would cause a
LateInitializationError when trying to cleanup the server.

Fixes https://github.com/flutter/flutter/issues/86361

Change-Id: Idf1f271925d244811af4b61b3161ddcbc05c52eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209846
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-11 23:36:27 +00:00
Danny Tuppeny 5447c3981e [dds] Add support for conditional breakpoints in DAP
Change-Id: I5f28337b0371f4efb52b2ba169bf27e1d61425c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209702
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-10 19:33:20 +00:00
Danny Tuppeny 215efd6642 [dds] Mark not-debuggable frames as deemphasized in DAP
This allows user code to stand out better in the stack trace when debugging SDK/External packages is disabled.

Change-Id: I1740001f2aa085e3bc2069d788e1c53e71386866
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209641
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-10 16:54:23 +00:00
Danny Tuppeny de5986ef24 [dds] Add tests for DAP exception behaviour
Change-Id: I524a7bdebd0c4f572db67550cd42f4ba5118cfc3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209640
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-09 22:44:09 +00:00
Danny Tuppeny 3d3a48ff9a [dds] Add support for DAP sourceRequest to download source from the VM
Change-Id: Icb639c7008d51d6ffbecb95e362cc07c81993424
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209103
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-09 16:48:08 +00:00
Danny Tuppeny 9e928c8587 [dds] Handle DAP debug termination more reliably based on whether there's an active process
Change-Id: I8a14074f242dd0719624d610fa6d1768ecb4d152
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209545
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-09 16:01:29 +00:00
Ivan Inozemtsev dee7d252d4 Inline non-functional type alias
Reason: b/195648511, non-functional type aliases are not supported by
some internal infra
Change-Id: I1c164f4ecf23ac22a36cabc630bf7e8f762d4849
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209541
Reviewed-by: Michal Terepeta <michalt@google.com>
Commit-Queue: Ivan Inozemtsev <iinozemtsev@google.com>
2021-08-09 10:26:28 +00:00
Ben Konyi 4d4f69ab95 Reland "[ package:dds ] Add locking when modifying DDS state via client requests"
This reverts commit 0b0bb9940d.

Fixes https://github.com/dart-lang/sdk/issues/46826

TEST=dds/test/regress_45569_test.dart and service_2/break_on_function_many_child_isolates_test/dds

Change-Id: I84ac047adb7b20a5392744993b22895bffacce9a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209262
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Anna Gringauze <annagrin@google.com>
2021-08-07 15:16:49 +00:00
Danny Tuppeny a6176ec3dd [dds] Support delegating running the debugee to the editor in DAP using runInTerminal
Change-Id: I9fd435ee43ca9ae0d1e38bdffd9121157d33b730
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208654
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-06 16:42:17 +00:00
Ben Konyi 0b0bb9940d Revert "[ package:dds ] Add locking when modifying DDS state via client requests"
This reverts commit 0ecfc7da6f.

Reason for revert: https://github.com/dart-lang/sdk/issues/46826

Original change's description:
> [ package:dds ] Add locking when modifying DDS state via client requests
>
> Fixes https://github.com/dart-lang/sdk/issues/46696
>
> Change-Id: I666b59a0661f4df3b1f0a47aba52096133f5fbb7
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209140
> Reviewed-by: Anna Gringauze <annagrin@google.com>

TBR=bkonyi@google.com,annagrin@google.com

Change-Id: Iec89181372a2fc1b8a461e616bbcd23dd6bbd72d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209280
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-05 21:32:42 +00:00
Ben Konyi 0ecfc7da6f [ package:dds ] Add locking when modifying DDS state via client requests
Fixes https://github.com/dart-lang/sdk/issues/46696

Change-Id: I666b59a0661f4df3b1f0a47aba52096133f5fbb7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209140
Reviewed-by: Anna Gringauze <annagrin@google.com>
2021-08-05 17:56:01 +00:00
Ben Konyi ada4278fd5 Revert "Reland "[ package:dds ] Add support for caching CPU samples based on UserTag""
This reverts commit 1796160606.

Reason for revert: Still seeing failures.

Original change's description:
> Reland "[ package:dds ] Add support for caching CPU samples based on UserTag"
>
> This reverts commit 4160747ef6.
>
> It seems like 9397b8ff05 should have fixed the original failures we were seeing and the failing bots in question seem to be passing when running try jobs.
>
> TBR=asiva@ (discussed offline)
>
> TEST=Existing service tests + get_cached_cpu_samples_test
> Change-Id: I1c50c0e79375df819a0bd68e68ac28c3064874c8
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208441
> Reviewed-by: Ben Konyi <bkonyi@google.com>
> Commit-Queue: Ben Konyi <bkonyi@google.com>

TBR=bkonyi@google.com,asiva@google.com

Change-Id: Ic522ab61b430673533c94ecd0c91bee569a0add6
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208960
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-04 17:32:38 +00:00
Ben Konyi 1796160606 Reland "[ package:dds ] Add support for caching CPU samples based on UserTag"
This reverts commit 4160747ef6.

It seems like 9397b8ff05 should have fixed the original failures we were seeing and the failing bots in question seem to be passing when running try jobs.

TBR=asiva@ (discussed offline)

TEST=Existing service tests + get_cached_cpu_samples_test
Change-Id: I1c50c0e79375df819a0bd68e68ac28c3064874c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208441
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-03 19:18:59 +00:00
Danny Tuppeny 874f1db1f9 [dds] Support debugging "just my code" in DAP using 'debugExternalPackageLibraries=false'
Change-Id: I82556df94722b72240383f57524a5692d176ca11
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208646
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-08-03 14:38:49 +00:00
Alexander Markov 4160747ef6 Revert "[ package:dds ] Add support for caching CPU samples based on UserTag"
This reverts commits 746b8f1f5c and
9ee2259fde.

Reason for revert: https://github.com/dart-lang/sdk/issues/46746

Original change's description:
> [ package:dds ] Add support for caching CPU samples based on UserTag
>
> DDS can be configured to listen for CPU sample events and cache samples
> that were collected while certain UserTags are active. These cached
> samples are stored in a ring buffer and are stored until the isolate
> shuts down.
>
> TEST=pkg/dds/test/get_cached_cpu_samples_test.dart
>
> Change-Id: Ib20770f59f1672c703413486f87795b3bb23f676
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207206
> Commit-Queue: Ben Konyi <bkonyi@google.com>
> Reviewed-by: Kenzie Schmoll <kenzieschmoll@google.com>

TEST=ci
TBR=bkonyi@google.com,rmacnak@google.com,kenzieschmoll@google.com

Change-Id: I1b6655ad7e3b10e1145ff545cc90ecf3bc6e092d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/208341
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2021-07-28 18:00:25 +00:00
Ben Konyi 746b8f1f5c [ package:dds ] Add support for caching CPU samples based on UserTag
DDS can be configured to listen for CPU sample events and cache samples
that were collected while certain UserTags are active. These cached
samples are stored in a ring buffer and are stored until the isolate
shuts down.

TEST=pkg/dds/test/get_cached_cpu_samples_test.dart

Change-Id: Ib20770f59f1672c703413486f87795b3bb23f676
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/207206
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Kenzie Schmoll <kenzieschmoll@google.com>
2021-07-28 00:33:33 +00:00
Danny Tuppeny 248e943b97 [dds] Expand truncated strings from dart:developer log() calls in DAP output
Change-Id: I31338b00daff33a5428e4b2229273ee8289f1c5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206540
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-07-22 14:38:21 +00:00
Danny Tuppeny 33c3cfc28a [dds] Support changing DAP debug settings after the session has started
Change-Id: I287457296408ae49950cef501780054260b57566
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205540
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-07-22 14:38:21 +00:00
Danny Tuppeny 6b4fc2670c [dds] Switch DAP server mode to directly using stdin/stdout
Change-Id: Id2a8d8c9274b96cf32788e11d4452954a4f9c091
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205500
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-07-22 14:38:21 +00:00
Ben Konyi a99b92c252 [ package:dds ] Avoid races while handling errors during startup
Avoids a LateInitializationError that could occur when the VM service
connection goes down during DDS startup. Done by delaying error
reporting until after DDS has completed its initial startup flow,
ensuring that all relevant state has already been initialized when we
try to cleanup.

Fixes https://github.com/flutter/flutter/issues/86361

Change-Id: I2b357bfb95c759d301ab48bce9fe1c28871d5e08
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206672
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2021-07-14 23:51:46 +00:00
Devon Carew 0512b876b3 replace copied code with references to package:devtools_shared
Change-Id: I6707f593f643fbf1323f4f24bc76a76f66ed7ec5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205344
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2021-07-12 17:55:04 +00:00
Danny Tuppeny 8f01499793 [dds] Support IPv6 for DAP with --ipv6 flag
Change-Id: I07c66b79e832f200bf5f27c20930e1ba6a2ebda7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205261
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-07-02 00:04:52 +00:00
Danny Tuppeny c84c21e741 [dds] Support using port=0 for DAP and print the bound host/port in JSON to stdout
Change-Id: Ib1e99f1004b59cba6fa6970dbddbf5cbe87a8b32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205160
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-06-28 19:58:32 +00:00
Ben Konyi 0d61348584 [ CLI ] Fix IPv6 VM service support for standalone VM
The CLI was not providing the ipv6 flag to DDS, resulting in a "Could
not start Observatory" error.

Change-Id: Idff0f525455f121b8f1e89bc4ad20a01cd1165ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204860
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-06-24 19:50:59 +00:00
Danny Tuppeny 06fc5c522e [dds] Spawn DDS in-process with DAP
+ Switch to package:args CommandRunner
+ Add switches to enable/disable DDS/auth tokens
+ Improve verbose logging for debugging tests
+ Fix a race condition in initial unpausing of Isolates

Change-Id: I7f7ee0ef798e198ee07c1c663bce3edb0b5c7fc9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/204143
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-06-24 18:07:49 +00:00
Danny Tuppeny 1563d3fdd3 [dds] Add support for DAP threadsRequest
Change-Id: I8dc128f0fc4dae16c53bc9deaf3b866d7198110f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203902
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-06-21 20:44:40 +00:00
Danny Tuppeny 97f013773c [dds] Support custom requests in DAP and verify DDS is available
Change-Id: I41be607668feaab30ae10b4fe725ad3f89e4a8ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203861
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-06-21 20:40:20 +00:00
Danny Tuppeny 7a73faa0a2 [dds] Use different port numbers for DAP integration tests
Bots are failing with:

SocketException: Failed to create server socket (OS Error: Address already in use, errno = 48), address = localhost, port = 9200

This could be multiple test libraries being run in parallel and starting from the same port.

Change-Id: Ic7d14c3bb9a4e19295849933fadd6ad6daaea464
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203500
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-06-14 18:41:13 +00:00
Danny Tuppeny d5e92e1c7a [dds] Add expression eval support to DAP
Change-Id: I0c55b4dde12d40467f8243e4b0c0ccc882eb045d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203243
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2021-06-13 19:10:42 +00:00