mirror of
https://github.com/swift-server/swift-aws-lambda-runtime.git
synced 2026-06-02 07:27:33 +00:00
b8a6466577
motivation: enable CI changes: add docker files support for ubuntu 16.04 and 18.04 and swift 5.0 and 5.1 note that eventyally this will need to move to AL2 docker images, but we dont have official ones yet
45 lines
1.5 KiB
Bash
Executable File
45 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
##===----------------------------------------------------------------------===##
|
|
##
|
|
## This source file is part of the SwiftAwsLambda open source project
|
|
##
|
|
## Copyright (c) 2020 Apple Inc. and the SwiftAwsLambda project authors
|
|
## Licensed under Apache License v2.0
|
|
##
|
|
## See LICENSE.txt for license information
|
|
## See CONTRIBUTORS.txt for the list of SwiftAwsLambda project authors
|
|
##
|
|
## SPDX-License-Identifier: Apache-2.0
|
|
##
|
|
##===----------------------------------------------------------------------===##
|
|
|
|
# docker run --cap-add SYS_ADMIN -it -v `pwd`:/code -w /code swift:5.1 bash
|
|
|
|
apt-get update
|
|
apt-get install -y vim htop strace linux-tools-common linux-tools-generic
|
|
|
|
cd /usr/bin
|
|
rm -rf perf
|
|
ln -s /usr/lib/linux-tools/4.15.0-88-generic/perf perf
|
|
cd -
|
|
|
|
cd build
|
|
git clone https://github.com/brendangregg/FlameGraph.git
|
|
cd -
|
|
|
|
# build the code in relase mode with debug symbols
|
|
# swift build -c release -Xswiftc -g
|
|
#
|
|
# run the server
|
|
# (.build/release/MockServer) &
|
|
#
|
|
# strace
|
|
# export MAX_REQUESTS=10000
|
|
# strace -o .build/strace-c-string-$MAX_REQUESTS -c .build/release/SwiftAwsLambdaStringSample
|
|
# strace -o .build/strace-ffftt-string-$MAX_REQUESTS -fftt .build/release/SwiftAwsLambdaStringSample
|
|
#
|
|
# perf
|
|
# export MAX_REQUESTS=10000
|
|
# perf record -o .build/perf-$MAX_REQUESTS.data -g .build/release/SwiftAwsLambdaStringSample dward
|
|
# perf script -i .build/perf-$MAX_REQUESTS.data | .build/FlameGraph/stackcollapse-perf.pl | swift-demangle | .build/FlameGraph/flamegraph.pl > .build/flamegraph-$MAX_REQUESTS.svg
|