Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: remove copying of apex.db to workspace on LS startup #4956

Merged
merged 78 commits into from
Aug 22, 2023
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
78 commits
Select commit Hold shift + click to select a range
cee7a05
chore: enable yourkit testing for e2ePerf
peternhale May 30, 2023
e2c76cf
chore: fix workflow name
peternhale May 30, 2023
f4ec8eb
chore: capture yourkit snashot
peternhale May 30, 2023
8056167
chore: apply review suggestions
peternhale Jun 5, 2023
1b544d5
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Jun 5, 2023
506a8ac
Merge branch 'develop' into phale/perf-poc
peternhale Jun 5, 2023
2c36f69
chore: change strategy for yourkit agent definition
peternhale Jun 5, 2023
fa631a9
chore: testing creation of env manipulation
peternhale Jun 6, 2023
69e2032
chore: more env handling
peternhale Jun 6, 2023
22dde81
chore: use format
peternhale Jun 6, 2023
c9976b2
chore: getting closer
peternhale Jun 6, 2023
566c433
chore: fix env var names
peternhale Jun 6, 2023
1a94b09
chore: try again
peternhale Jun 6, 2023
3ec4944
chore: make it work
peternhale Jun 6, 2023
98d89fe
chore: remove trailing data on env var echo
peternhale Jun 6, 2023
dae392b
chore: debug
peternhale Jun 6, 2023
564cfd9
chore: mor debugging
peternhale Jun 6, 2023
16f67d0
chore: fix env case
peternhale Jun 6, 2023
e9fd664
chore: turn on tests
peternhale Jun 6, 2023
26d6ca5
chore: enable profiling outside of debug
peternhale Jun 6, 2023
2345af7
chore: run without tests
peternhale Jun 6, 2023
35a263e
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Jun 7, 2023
340af97
chore: add env vars for project and test to run
peternhale Jun 7, 2023
6bb8dbb
chore: wip
peternhale Jun 8, 2023
99ab844
chore: wip
peternhale Jun 19, 2023
08d3233
chore: first iteration of apex ls perf changes
peternhale Jun 19, 2023
6c5a37e
chore: fix lint
peternhale Jun 19, 2023
c2c801b
chore: add env vars to launch
peternhale Jun 28, 2023
4c5cb42
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Jun 28, 2023
f7b8493
chore: remove code that copies apex.db
peternhale Jun 28, 2023
4a3eda1
chore: remove reference apex.db
peternhale Jun 28, 2023
ff3c879
Merge branch 'develop' into phale/apex-db-overlay
peternhale Jul 11, 2023
0ca02e0
fix: disable file watcher for apex std classes dir
peternhale Jul 11, 2023
5e26321
fix: correct env ref syntax
peternhale Jul 12, 2023
60188a0
fix: reduce file system watchers from 4 to 2
peternhale Jul 12, 2023
5c033d2
chore: check in signed version of the jar
peternhale Jul 12, 2023
5edf61f
Merge branch 'develop' into phale/apex-db-overlay
peternhale Jul 13, 2023
799187b
chore: unneeded at this time
peternhale Jul 13, 2023
e2bcd68
chore: working lsp jar
peternhale Jul 20, 2023
4a6986b
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Jul 20, 2023
681a311
chore: fix lint error
peternhale Jul 20, 2023
6b0eca6
chore: add ability to ser apex ls log level
peternhale Jul 24, 2023
5ea20ab
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Jul 24, 2023
3fae70a
chore: add signed jar to pr
peternhale Jul 24, 2023
2d300cd
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Jul 27, 2023
3232e8b
Merge branch 'develop' into phale/apex-db-overlay
CristiCanizales Jul 31, 2023
bcebceb
chore: update jar for testing on windows
peternhale Aug 3, 2023
81300ea
chore: testing
peternhale Aug 3, 2023
8b1b205
chore: more logging
peternhale Aug 3, 2023
76ec925
chore: more logging
peternhale Aug 3, 2023
126c3c2
chore: add more logging
peternhale Aug 3, 2023
1448270
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Aug 3, 2023
c872036
chore: update package lock
peternhale Aug 3, 2023
256a311
chore: update jar
peternhale Aug 3, 2023
40ce9d2
chore: add more logging to prelude
peternhale Aug 3, 2023
f44218b
chore: make sure paths.get does not have a uri string
peternhale Aug 3, 2023
c3727a2
chore: closer
peternhale Aug 3, 2023
24cb13f
chore: one step forward
peternhale Aug 3, 2023
18e252a
fix: update lsp jar that runs properly on windows
peternhale Aug 3, 2023
dc2c373
Merge branch 'develop' into phale/apex-db-overlay
CristiCanizales Aug 8, 2023
d343dd6
chore: update ls jar
peternhale Aug 8, 2023
5db3d98
chore: fix URI bug in LS
peternhale Aug 8, 2023
fbe6c07
chore: one more LS fix
peternhale Aug 8, 2023
b003d0d
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Aug 9, 2023
9629b71
chore: refresh system.db
peternhale Aug 9, 2023
b5b1837
chore: goodness hopefully
peternhale Aug 9, 2023
066bb1c
chore: new jar with larger LRU cache
peternhale Aug 9, 2023
08925cd
chore: more debugging
peternhale Aug 9, 2023
c09b188
chore: update ls jar
peternhale Aug 10, 2023
7f82cb2
chore: make sure standard library classes do not compile twice
peternhale Aug 11, 2023
55eaf0d
chore: allow remote apex LS debugging
peternhale Aug 14, 2023
360b861
fix: apex LS duplicate method exception windows
peternhale Aug 14, 2023
ab361e5
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Aug 14, 2023
68e6a85
chore: update LS to df
peternhale Aug 15, 2023
9ee5936
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Aug 21, 2023
79ff971
Merge branch 'develop' of github.com:forcedotcom/salesforcedx-vscode …
peternhale Aug 21, 2023
664391b
chore: fix merge error
peternhale Aug 21, 2023
10fa058
chore: give test better name
peternhale Aug 22, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
90 changes: 90 additions & 0 deletions .github/workflows/e2ePerf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: End to End Tests (Performance)
on:
workflow_dispatch:
inputs:
automationBranch:
description: 'Set the branch to use for automation tests'
required: false
default: 'phale/perf-poc'
type: string

# all possible combinations of OS and architecture supported by yourkit
env:
Linux-ARM: ./yourkit-distro/linux-arm-32/libyjpagent.so
Windows-X86: ./yourkit-distro/windows-x86-32/yjpagent.dll
Linux-X86: ./yourkit-distro/linux-x86-32/libyjpagent.so
Windows-X64: ./yourkit-distro/windows-x86-64/yjpagent.dll
Linux-ARM64: ./yourkit-distro/linux-arm-64/libyjpagent.so
macOs-X64: ./yourkit-distro/mac/libyjpagent.dylib
Windows-ARM64: ./yourkit-distro/windows-arm-64/yjpagent.dll
Linux-X64: ./yourkit-distro/linux-x86-64/libyjpagent.so

jobs:
build:
strategy:
matrix:
os: [macos-latest]
nodeVersion:
- 16.15.1
vscodeVersion:
- stable
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
path: ./salesforcedx-vscode
ref: ${{ github.event.ref }}
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.nodeVersion }}
cache: npm
cache-dependency-path: |
salesforcedx-vscode/package-lock.json
salesforcedx-vscode-automation-tests/package-lock.json
- name: Clone automation tests
uses: actions/checkout@v3
with:
repository: forcedotcom/salesforcedx-vscode-automation-tests
path: salesforcedx-vscode-automation-tests
ref: ${{ inputs.automationBranch }}
- name: Install Extension Dependencies
run: |
npm install
working-directory: salesforcedx-vscode
- name: Install Test Dependencies
run: |
npm install
working-directory: salesforcedx-vscode-automation-tests
- name: Install the SFDX CLI
run: npm install -g sfdx-cli
- name: Verify CLI
shell: bash
run: |
set -e
sfdx version
SFDX_CLI_VERSION=$(sfdx version)
if [[ ((`echo $SFDX_CLI_VERSION | grep -c "sfdx-cli/"` > 0))]]
then
echo "sfdx-cli installed -" $SFDX_CLI_VERSION
else
echo "The sfdx-cli installation could not be verified"
exit 1
fi
- name: Setup YourKit Agent
run: echo "YOURKIT_PROFILER_AGENT=${{ env.RUNNER_OS }}-${{ env.RUNNER_ARCH}}=sampling,async_sampling_cpu,app_name=apex_lsp,alloc_object_counting,onexit=memory,onexit=memory,onexit=snapshot,onexit=hprof,dir=./snapshots" >> $GITHUB_ENV

Choose a reason for hiding this comment

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

onexit=memory twice? Not sure if this was deliberate?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@supert3d Good catch. I'll log a bug to have the duplicate removed.

- name: Create Yourkit Snapshot directory
run: mkdir snapshots
- name: Verify YourKit
run: env
# - name: Run headless test
# uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3
# with:
# run: npm run automation-tests
# working-directory: salesforcedx-vscode-automation-tests
# env:
# VSCODE_VERSION: ${{ matrix.vscodeVersion }}
- uses: actions/upload-artifact@v3
with:
name: yourkit-snapshot
path: snapshots
Binary file added yourkit-distro/bin/linux-arm-32/libyjpagent.so
Binary file not shown.
Binary file added yourkit-distro/bin/linux-arm-64/libyjpagent.so
Binary file not shown.
Binary file added yourkit-distro/bin/linux-x86-32/libyjpagent.so
Binary file not shown.
Binary file added yourkit-distro/bin/linux-x86-64/libyjpagent.so
Binary file not shown.
Binary file added yourkit-distro/bin/mac/libyjpagent.dylib
Binary file not shown.
Binary file added yourkit-distro/bin/windows-arm-64/yjpagent.dll
Binary file not shown.
Binary file not shown.
Binary file added yourkit-distro/bin/windows-x86-64/yjpagent.dll
Binary file not shown.
37 changes: 37 additions & 0 deletions yourkit-distro/license-redist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
The following files can be redistributed under the license below:

yjpagent.dll
libyjpagent.so
libyjpagent.dylib
yjp-controller-api-redist.jar
yjp-probe-api-redist.jar

-------------------------------------------------------------------

Copyright (c) 2003-2022, YourKit
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.

* Neither the name of YourKit nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY YOURKIT "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL YOURKIT BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.