Skip to content

Commit 10ed8f9

Browse files
committed
Merge branch 'main' into task_version_update
2 parents 9cbd1aa + b92a6c6 commit 10ed8f9

File tree

123 files changed

+7772
-4768
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

123 files changed

+7772
-4768
lines changed

.github/actions/clp-core-build/action.yaml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ inputs:
88
use_published_image:
99
description: "Whether to use the published container image"
1010
required: true
11+
use_shared_libs:
12+
description: "Whether to build the core binaries by linking against shared libraries"
13+
required: true
1114
upload_binaries:
1215
description: "Whether to upload the core binaries"
1316
required: true
@@ -18,10 +21,6 @@ inputs:
1821
runs:
1922
using: "composite"
2023
steps:
21-
- shell: "bash"
22-
working-directory: "./components/core"
23-
run: "./tools/scripts/deps-download/download-all.sh"
24-
2524
- if: "inputs.use_published_image == 'false'"
2625
uses: "actions/download-artifact@v4"
2726
with:
@@ -46,13 +45,21 @@ runs:
4645
fi
4746
shell: "bash"
4847

48+
- run: "./tools/scripts/deps-download/init.sh"
49+
shell: "bash"
50+
4951
- run: >-
5052
docker run
5153
--user $(id -u):$(id -g)
52-
--volume "$GITHUB_WORKSPACE/components/core":/mnt/clp
54+
--volume "$GITHUB_WORKSPACE":/mnt/clp
5355
--workdir /mnt/clp
5456
${{steps.get_image_props.outputs.qualified_image_name}}
55-
/mnt/clp/tools/scripts/utils/build-and-run-unit-tests.sh . build
57+
bash -c "task deps:core &&
58+
python3 /mnt/clp/components/core/tools/scripts/utils/build-and-run-unit-tests.py
59+
${{inputs.use_shared_libs == 'true' && '--use-shared-libs' || ''}}
60+
--source-dir /mnt/clp/components/core
61+
--build-dir /mnt/clp/components/core/build
62+
--num-jobs $(getconf _NPROCESSORS_ONLN)"
5663
shell: "bash"
5764
5865
- if: "inputs.upload_binaries == 'true'"

.github/workflows/clp-core-build-macos.yaml

Lines changed: 28 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,19 +8,25 @@ on:
88
- "components/core/CMakeLists.txt"
99
- "components/core/src/**"
1010
- "components/core/tests/**"
11-
- "components/core/tools/scripts/lib_install/macos-12/**"
11+
- "components/core/tools/scripts/lib_install/macos/**"
1212
- "components/core/tools/scripts/deps-download/**"
13-
- "components/core/tools/scripts/utils/build-and-run-unit-tests.sh"
13+
- "components/core/tools/scripts/utils/build-and-run-unit-tests.py"
14+
- "deps-tasks.yml"
15+
- "Taskfile.yml"
16+
- "tools/scripts/deps-download/**"
1417
push:
1518
paths:
1619
- ".github/workflows/clp-core-build-macos.yaml"
1720
- "components/core/cmake/**"
1821
- "components/core/CMakeLists.txt"
1922
- "components/core/src/**"
2023
- "components/core/tests/**"
21-
- "components/core/tools/scripts/lib_install/macos-12/**"
24+
- "components/core/tools/scripts/lib_install/macos/**"
2225
- "components/core/tools/scripts/deps-download/**"
23-
- "components/core/tools/scripts/utils/build-and-run-unit-tests.sh"
26+
- "components/core/tools/scripts/utils/build-and-run-unit-tests.py"
27+
- "deps-tasks.yml"
28+
- "Taskfile.yml"
29+
- "tools/scripts/deps-download/**"
2430
workflow_dispatch:
2531

2632
concurrency:
@@ -30,7 +36,11 @@ concurrency:
3036

3137
jobs:
3238
build-macos:
33-
runs-on: "macos-12"
39+
strategy:
40+
matrix:
41+
runner: ["macos-13", "macos-14"]
42+
use_shared_libs: [true, false]
43+
runs-on: "${{matrix.runner}}"
3444
steps:
3545
- uses: "actions/checkout@v4"
3646
with:
@@ -40,20 +50,28 @@ jobs:
4050
- name: "Remove preinstalled binaries which conflict with brew's installs"
4151
run: |
4252
rm -f /usr/local/bin/2to3*
53+
rm -f /usr/local/bin/go*
4354
rm -f /usr/local/bin/idle3*
4455
rm -f /usr/local/bin/pydoc3*
4556
rm -f /usr/local/bin/python3*
4657
4758
- name: "Install dependencies"
48-
run: "./components/core/tools/scripts/lib_install/macos-12/install-all.sh"
59+
run: "./components/core/tools/scripts/lib_install/macos/install-all.sh"
4960

50-
- name: "Download source dependencies"
61+
- run: "./tools/scripts/deps-download/init.sh"
62+
shell: "bash"
63+
64+
- run: "task deps:core"
5165
shell: "bash"
52-
working-directory: "./components/core"
53-
run: "./tools/scripts/deps-download/download-all.sh"
5466

5567
- name: "Build CLP-core and run unit tests"
5668
shell: "bash"
5769
working-directory: "./components/core"
5870
# NOTE: We omit the Stopwatch tests since GH's macOS runner is too slow
59-
run: "./tools/scripts/utils/build-and-run-unit-tests.sh . build ~[Stopwatch]"
71+
run: >-
72+
python3 ./tools/scripts/utils/build-and-run-unit-tests.py
73+
${{matrix.use_shared_libs == 'true' && '--use-shared-libs' || ''}}
74+
--source-dir .
75+
--build-dir build
76+
--num-jobs $(getconf _NPROCESSORS_ONLN)
77+
--test-spec "~[Stopwatch]"

.github/workflows/clp-core-build.yaml

Lines changed: 46 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,21 @@ on:
88
- ".github/workflows/clp-core-build.yaml"
99
- ".gitmodules"
1010
- "components/core/**"
11-
- "!components/core/tools/scripts/lib_install/macos-12/**"
11+
- "deps-tasks.yml"
12+
- "Taskfile.yml"
13+
- "tools/scripts/deps-download/**"
14+
- "!components/core/tools/scripts/lib_install/macos/**"
1215
push:
1316
paths:
1417
- ".github/actions/clp-core-build/action.yaml"
1518
- ".github/actions/clp-core-build-containers/action.yaml"
1619
- ".github/workflows/clp-core-build.yaml"
1720
- ".gitmodules"
1821
- "components/core/**"
19-
- "!components/core/tools/scripts/lib_install/macos-12/**"
22+
- "deps-tasks.yml"
23+
- "Taskfile.yml"
24+
- "tools/scripts/deps-download/**"
25+
- "!components/core/tools/scripts/lib_install/macos/**"
2026
workflow_dispatch:
2127

2228
env:
@@ -30,7 +36,7 @@ jobs:
3036
filter-relevant-changes:
3137
runs-on: "ubuntu-latest"
3238
outputs:
33-
centos74_image_changed: "${{steps.filter.outputs.centos74_image}}"
39+
centos_stream_9_image_changed: "${{steps.filter.outputs.centos_stream_9_image}}"
3440
ubuntu_focal_image_changed: "${{steps.filter.outputs.ubuntu_focal_image}}"
3541
ubuntu_jammy_image_changed: "${{steps.filter.outputs.ubuntu_jammy_image}}"
3642
clp_changed: "${{steps.filter.outputs.clp}}"
@@ -57,12 +63,12 @@ jobs:
5763
# image (since it would be different from the published image).
5864
base: "main"
5965
filters: |
60-
centos74_image:
66+
centos_stream_9_image:
6167
- ".github/actions/**"
6268
- ".github/workflows/clp-core-build.yaml"
6369
- "components/core/tools/scripts/lib_install/*.sh"
64-
- "components/core/tools/docker-images/clp-env-base-centos7.4/**"
65-
- "components/core/tools/scripts/lib_install/centos7.4/**"
70+
- "components/core/tools/docker-images/clp-env-base-centos-stream-9/**"
71+
- "components/core/tools/scripts/lib_install/centos-stream-9/**"
6672
ubuntu_focal_image:
6773
- ".github/actions/**"
6874
- ".github/workflows/clp-core-build.yaml"
@@ -83,11 +89,13 @@ jobs:
8389
- "components/core/CMakeLists.txt"
8490
- "components/core/src/**"
8591
- "components/core/tests/**"
86-
- "components/core/tools/scripts/deps-download/**"
87-
- "components/core/tools/scripts/utils/build-and-run-unit-tests.sh"
92+
- "components/core/tools/scripts/utils/build-and-run-unit-tests.py"
93+
- "deps-tasks.yml"
94+
- "Taskfile.yml"
95+
- "tools/scripts/deps-download/**"
8896
89-
centos74-deps-image:
90-
if: "needs.filter-relevant-changes.outputs.centos74_image_changed == 'true'"
97+
centos-stream-9-deps-image:
98+
if: "needs.filter-relevant-changes.outputs.centos_stream_9_image_changed == 'true'"
9199
needs: "filter-relevant-changes"
92100
runs-on: "ubuntu-latest"
93101
steps:
@@ -101,7 +109,7 @@ jobs:
101109

102110
- uses: "./.github/actions/clp-core-build-containers"
103111
env:
104-
OS_NAME: "centos7.4"
112+
OS_NAME: "centos-stream-9"
105113
with:
106114
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
107115
docker_context: "components/core"
@@ -161,14 +169,19 @@ jobs:
161169
${{github.event_name != 'pull_request' && github.ref == 'refs/heads/main'}}
162170
token: "${{secrets.GITHUB_TOKEN}}"
163171

164-
centos74-binaries:
172+
centos-stream-9-binaries:
165173
# Run if the ancestor jobs succeeded OR they were skipped and clp was changed.
166174
if: >-
167175
success()
168176
|| (!cancelled() && !failure() && needs.filter-relevant-changes.outputs.clp_changed == 'true')
169177
needs:
170-
- "centos74-deps-image"
178+
- "centos-stream-9-deps-image"
171179
- "filter-relevant-changes"
180+
strategy:
181+
matrix:
182+
use_shared_libs: [true, false]
183+
name: "centos-stream-9-${{matrix.use_shared_libs && 'dynamic' || 'static'}}-linked-bins"
184+
continue-on-error: true
172185
runs-on: "ubuntu-latest"
173186
steps:
174187
- uses: "actions/checkout@v4"
@@ -181,11 +194,12 @@ jobs:
181194

182195
- uses: "./.github/actions/clp-core-build"
183196
env:
184-
OS_NAME: "centos7.4"
197+
OS_NAME: "centos-stream-9"
185198
with:
186199
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
200+
use_shared_libs: "${{matrix.use_shared_libs}}"
187201
use_published_image: >-
188-
${{needs.filter-relevant-changes.outputs.centos74_image_changed == 'false'
202+
${{needs.filter-relevant-changes.outputs.centos_stream_9_image_changed == 'false'
189203
|| (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}}
190204
upload_binaries: "false"
191205

@@ -197,6 +211,15 @@ jobs:
197211
needs:
198212
- "filter-relevant-changes"
199213
- "ubuntu-focal-deps-image"
214+
strategy:
215+
matrix:
216+
include:
217+
- use_shared_libs: true
218+
upload_binaries: false
219+
- use_shared_libs: false
220+
upload_binaries: true
221+
name: "ubuntu-focal-${{matrix.use_shared_libs && 'dynamic' || 'static'}}-linked-bins"
222+
continue-on-error: true
200223
runs-on: "ubuntu-latest"
201224
steps:
202225
- uses: "actions/checkout@v4"
@@ -212,10 +235,11 @@ jobs:
212235
OS_NAME: "ubuntu-focal"
213236
with:
214237
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
238+
use_shared_libs: "${{matrix.use_shared_libs}}"
215239
use_published_image: >-
216240
${{needs.filter-relevant-changes.outputs.ubuntu_focal_image_changed == 'false'
217241
|| (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}}
218-
upload_binaries: "true"
242+
upload_binaries: "${{matrix.upload_binaries}}"
219243
binaries_artifact_name: "${{env.BINARIES_ARTIFACT_NAME_PREFIX}}${{env.OS_NAME}}"
220244

221245
ubuntu-jammy-binaries:
@@ -226,6 +250,11 @@ jobs:
226250
needs:
227251
- "filter-relevant-changes"
228252
- "ubuntu-jammy-deps-image"
253+
strategy:
254+
matrix:
255+
use_shared_libs: [true, false]
256+
name: "ubuntu-jammy-${{matrix.use_shared_libs && 'dynamic' || 'static'}}-linked-bins"
257+
continue-on-error: true
229258
runs-on: "ubuntu-latest"
230259
steps:
231260
- uses: "actions/checkout@v4"
@@ -241,6 +270,7 @@ jobs:
241270
OS_NAME: "ubuntu-jammy"
242271
with:
243272
image_name: "${{env.DEPS_IMAGE_NAME_PREFIX}}${{env.OS_NAME}}"
273+
use_shared_libs: "${{matrix.use_shared_libs}}"
244274
use_published_image: >-
245275
${{needs.filter-relevant-changes.outputs.ubuntu_jammy_image_changed == 'false'
246276
|| (github.event_name != 'pull_request' && github.ref == 'refs/heads/main')}}

README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ YScope's Compressed Log Processor (CLP) compresses your logs, and allows you to
88
compressed logs without decompression. CLP supports both JSON logs and unstructured (i.e., free
99
text) logs. It also supports real-time log compression within several logging libraries. CLP also
1010
includes purpose-built web interfaces for searching and viewing the compressed logs. To learn more
11-
about it, you can read our [paper][clp-paper].
11+
about it, read our [2021 paper][clp-paper-21] about handling unstructured logs and our
12+
[2024 paper][clp-paper-24] on extending it to JSON logs.
1213

1314
# Benchmarks
1415

@@ -27,7 +28,7 @@ index-less design, so for a fair comparison, we disabled MongoDB and PostgreSQL'
2728
left them enabled, MongoDB and PostgreSQL's compression ratio would be worse. We didn't disable
2829
indexing for Elasticsearch or Splunk since these tools are fundamentally index-based (i.e., logs
2930
cannot be searched without indexes). More details about our experimental methodology can be found in
30-
the [CLP paper][clp-paper].
31+
the [2021 paper][clp-paper-21] and the [2024 paper][clp-paper-24].
3132

3233
# System Overview
3334

@@ -94,7 +95,8 @@ If you would like a feature or want to report a bug, please file an issue and we
9495
[clp-ffi-go]: https://github.com/y-scope/clp-ffi-go
9596
[clp-ffi-py]: https://github.com/y-scope/clp-ffi-py
9697
[clp-loglib-py]: https://github.com/y-scope/clp-loglib-py
97-
[clp-paper]: https://www.usenix.org/system/files/osdi21-rodrigues.pdf
98+
[clp-paper-21]: https://www.usenix.org/system/files/osdi21-rodrigues.pdf
99+
[clp-paper-24]: https://www.usenix.org/system/files/osdi24-wang-rui.pdf
98100
[core]: http://docs.yscope.com/clp/main/dev-guide/components-core
99101
[core-container]: http://docs.yscope.com/clp/main/user-guide/core-container
100102
[datasets]: https://docs.yscope.com/clp/main/user-guide/resources-datasets

0 commit comments

Comments
 (0)