Skip to content

Commit 3ab46fd

Browse files
committed
merge
2 parents 910e558 + 0f7f433 commit 3ab46fd

File tree

243 files changed

+15427
-3605
lines changed

Some content is hidden

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

243 files changed

+15427
-3605
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,37 @@
1+
<!-- markdownlint-disable MD012 -->
2+
13
<!--
24
Set the PR title to a meaningful commit message that:
3-
- follows the Conventional Commits specification (https://www.conventionalcommits.org).
4-
- is in imperative form.
5+
6+
* is in imperative form.
7+
* follows the Conventional Commits specification (https://www.conventionalcommits.org).
8+
* See https://github.com/commitizen/conventional-commit-types/blob/master/index.json for possible
9+
types.
10+
511
Example:
12+
613
fix: Don't add implicit wildcards ('*') at the beginning and the end of a query (fixes #390).
714
-->
815

916
# Description
17+
1018
<!-- Describe what this request will change/fix and provide any details necessary for reviewers. -->
1119

1220

1321

22+
# Checklist
23+
24+
<!-- Ensure each item below is satisfied and indicate so by inserting an `x` within each `[ ]`. -->
25+
26+
* [ ] The PR satisfies the [contribution guidelines][yscope-contrib-guidelines].
27+
* [ ] This is a breaking change and that has been indicated in the PR title, OR this isn't a
28+
breaking change.
29+
* [ ] Necessary docs have been updated, OR no docs need to be updated.
30+
1431
# Validation performed
32+
1533
<!-- Describe what tests and validation you performed on the change. -->
1634

35+
36+
37+
[yscope-contrib-guidelines]: https://docs.yscope.com/dev-guide/contrib-guides-overview.html

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,6 @@
2929
[submodule "components/log-viewer-webui/yscope-log-viewer"]
3030
path = components/log-viewer-webui/yscope-log-viewer
3131
url = https://github.com/y-scope/yscope-log-viewer.git
32+
[submodule "components/core/submodules/utfcpp"]
33+
path = components/core/submodules/utfcpp
34+
url = https://github.com/nemtrif/utfcpp.git

README.md

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -43,13 +43,14 @@ features:
4343
(intermediate representation) produced by CLP's logging libraries.
4444

4545
- **Real-time Compression with CLP Logging Libraries**: CLP provides logging libraries for
46-
[Python][clp-loglib-py] and Java ([Log4j][log4j1-appenders] and [Logback][logback-appenders]). The
47-
logging libraries compress logs in real-time, so only compressed logs are written to disk or
48-
transmitted over the network. The compressed logs use CLP's intermediate representation (IR)
49-
format which achieves a higher compression ratio than general purpose compressors like Zstandard.
50-
Compressing IR into archives can further double the compression ratio and enable global search,
51-
but this requires more memory usage as it needs to buffer enough logs. More details on IR versus
52-
archives can be found in this [Uber Engineering Blog][uber-blog].
46+
[Python][clp-loglib-py] and Java ([Log4j1][log4j1-appenders], [Log4j2][log4j2-appenders] and
47+
[Logback][logback-appenders]). The logging libraries compress logs in real-time, so only
48+
compressed logs are written to disk or transmitted over the network. The compressed logs use CLP's
49+
intermediate representation (IR) format which achieves a higher compression ratio than general
50+
purpose compressors like Zstandard. Compressing IR into archives can further double the
51+
compression ratio and enable global search, but this requires more memory usage as it needs to
52+
buffer enough logs. More details on IR versus archives can be found in this
53+
[Uber Engineering Blog][uber-blog].
5354

5455
- **[Log Viewer][log-viewer]**: the compressed IR can be viewed in a web-based log viewer. Compared
5556
to viewing the logs in an editor, CLP's log viewer supports advanced features like filtering logs
@@ -104,6 +105,7 @@ If you would like a feature or want to report a bug, please file an issue and we
104105
[log-surgeon]: https://github.com/y-scope/log-surgeon
105106
[log-viewer]: https://github.com/y-scope/yscope-log-viewer
106107
[log4j1-appenders]: https://github.com/y-scope/log4j1-appenders
108+
[log4j2-appenders]: https://github.com/y-scope/log4j2-appenders
107109
[logback-appenders]: https://github.com/y-scope/logback-appenders
108110
[re2]: https://github.com/google/re2
109111
[uber-blog]: https://www.uber.com/en-US/blog/reducing-logging-cost-by-two-orders-of-magnitude-using-clp

Taskfile.yml

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ includes:
44
deps: "deps-tasks.yml"
55
docs: "docs/tasks.yml"
66
lint: "lint-tasks.yml"
7-
utils: "tools/yscope-dev-utils/taskfiles/utils.yml"
7+
utils: "tools/yscope-dev-utils/taskfiles/utils.yaml"
88

99
vars:
1010
# Source paths
@@ -27,7 +27,7 @@ vars:
2727
G_WEBUI_BUILD_DIR: "{{.G_BUILD_DIR}}/webui"
2828

2929
# Taskfile paths
30-
G_UTILS_TASKFILE: "{{.ROOT_DIR}}/tools/yscope-dev-utils/taskfiles/utils.yml"
30+
G_UTILS_TASKFILE: "{{.ROOT_DIR}}/tools/yscope-dev-utils/taskfiles/utils.yaml"
3131

3232
# Versions
3333
G_PACKAGE_VERSION: "0.2.0-dev"
@@ -116,7 +116,7 @@ tasks:
116116
- task: "utils:validate-checksum"
117117
vars:
118118
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
119-
DATA_DIR: "{{.OUTPUT_DIR}}"
119+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
120120
- "webui"
121121
cmds:
122122
- "rm -rf '{{.OUTPUT_DIR}}'"
@@ -173,8 +173,8 @@ tasks:
173173
# This command must be last
174174
- task: "utils:compute-checksum"
175175
vars:
176-
DATA_DIR: "{{.OUTPUT_DIR}}"
177-
OUTPUT_FILE: "{{.CHECKSUM_FILE}}"
176+
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
177+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
178178

179179
core:
180180
vars:
@@ -242,7 +242,7 @@ tasks:
242242
- task: "utils:validate-checksum"
243243
vars:
244244
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
245-
DATA_DIR: "{{.OUTPUT_DIR}}"
245+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
246246
cmds:
247247
- "rm -rf '{{.OUTPUT_DIR}}'"
248248
- for:
@@ -254,8 +254,8 @@ tasks:
254254
--output-path "{{.OUTPUT_DIR}}/{{.ITEM}}"
255255
- task: "utils:compute-checksum"
256256
vars:
257-
DATA_DIR: "{{.OUTPUT_DIR}}"
258-
OUTPUT_FILE: "{{.CHECKSUM_FILE}}"
257+
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
258+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
259259

260260
webui:
261261
vars:
@@ -280,7 +280,7 @@ tasks:
280280
- task: "utils:validate-checksum"
281281
vars:
282282
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
283-
DATA_DIR: "{{.OUTPUT_DIR}}"
283+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
284284
- "webui-node-modules"
285285
cmds:
286286
- "rm -rf '{{.OUTPUT_DIR}}'"
@@ -298,8 +298,8 @@ tasks:
298298
# This command must be last
299299
- task: "utils:compute-checksum"
300300
vars:
301-
DATA_DIR: "{{.OUTPUT_DIR}}"
302-
OUTPUT_FILE: "{{.CHECKSUM_FILE}}"
301+
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
302+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
303303

304304
nodejs-22:
305305
internal: true
@@ -342,7 +342,7 @@ tasks:
342342
- task: "utils:validate-checksum"
343343
vars:
344344
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
345-
DATA_DIR: "{{.OUTPUT_DIR}}"
345+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
346346
cmds:
347347
- "rm -rf '{{.OUTPUT_DIR}}' '{{.OUTPUT_TMP_DIR}}'"
348348
- "mkdir -p '{{.OUTPUT_TMP_DIR}}'"
@@ -356,8 +356,8 @@ tasks:
356356
# This command must be last
357357
- task: "utils:compute-checksum"
358358
vars:
359-
DATA_DIR: "{{.OUTPUT_DIR}}"
360-
OUTPUT_FILE: "{{.CHECKSUM_FILE}}"
359+
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
360+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
361361

362362
# NOTE: The log-viewer-webui has four different node_modules directories:
363363
# * client
@@ -407,19 +407,19 @@ tasks:
407407
- task: "utils:validate-checksum"
408408
vars:
409409
CHECKSUM_FILE: "{{.CLIENT_CHECKSUM_FILE}}"
410-
DATA_DIR: "{{.CLIENT_OUTPUT_DIR}}"
410+
INCLUDE_PATTERNS: ["{{.CLIENT_OUTPUT_DIR}}"]
411411
- task: "utils:validate-checksum"
412412
vars:
413413
CHECKSUM_FILE: "{{.SERVER_CHECKSUM_FILE}}"
414-
DATA_DIR: "{{.SERVER_OUTPUT_DIR}}"
414+
INCLUDE_PATTERNS: ["{{.SERVER_OUTPUT_DIR}}"]
415415
- task: "utils:validate-checksum"
416416
vars:
417417
CHECKSUM_FILE: "{{.PACKAGE_CHECKSUM_FILE}}"
418-
DATA_DIR: "{{.PACKAGE_OUTPUT_DIR}}"
418+
INCLUDE_PATTERNS: ["{{.PACKAGE_OUTPUT_DIR}}"]
419419
- task: "utils:validate-checksum"
420420
vars:
421421
CHECKSUM_FILE: "{{.LOG_VIEWER_CHECKSUM_FILE}}"
422-
DATA_DIR: "{{.LOG_VIEWER_OUTPUT_DIR}}"
422+
INCLUDE_PATTERNS: ["{{.LOG_VIEWER_OUTPUT_DIR}}"]
423423
cmds:
424424
- "rm -f {{.CHECKSUM_FILE}}"
425425
- task: "clean-log-viewer-webui"
@@ -430,20 +430,20 @@ tasks:
430430
# These commands must be last
431431
- task: "utils:compute-checksum"
432432
vars:
433-
DATA_DIR: "{{.CLIENT_OUTPUT_DIR}}"
434-
OUTPUT_FILE: "{{.CLIENT_CHECKSUM_FILE}}"
433+
CHECKSUM_FILE: "{{.CLIENT_CHECKSUM_FILE}}"
434+
INCLUDE_PATTERNS: ["{{.CLIENT_OUTPUT_DIR}}"]
435435
- task: "utils:compute-checksum"
436436
vars:
437-
DATA_DIR: "{{.LOG_VIEWER_OUTPUT_DIR}}"
438-
OUTPUT_FILE: "{{.LOG_VIEWER_CHECKSUM_FILE}}"
437+
CHECKSUM_FILE: "{{.LOG_VIEWER_CHECKSUM_FILE}}"
438+
INCLUDE_PATTERNS: ["{{.LOG_VIEWER_OUTPUT_DIR}}"]
439439
- task: "utils:compute-checksum"
440440
vars:
441-
DATA_DIR: "{{.PACKAGE_OUTPUT_DIR}}"
442-
OUTPUT_FILE: "{{.PACKAGE_CHECKSUM_FILE}}"
441+
CHECKSUM_FILE: "{{.PACKAGE_CHECKSUM_FILE}}"
442+
INCLUDE_PATTERNS: ["{{.PACKAGE_OUTPUT_DIR}}"]
443443
- task: "utils:compute-checksum"
444444
vars:
445-
DATA_DIR: "{{.SERVER_OUTPUT_DIR}}"
446-
OUTPUT_FILE: "{{.SERVER_CHECKSUM_FILE}}"
445+
CHECKSUM_FILE: "{{.SERVER_CHECKSUM_FILE}}"
446+
INCLUDE_PATTERNS: ["{{.SERVER_OUTPUT_DIR}}"]
447447
# This command must be last
448448
- >-
449449
cat
@@ -550,18 +550,18 @@ tasks:
550550
- task: "utils:validate-checksum"
551551
vars:
552552
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
553-
DATA_DIR: "{{.OUTPUT_DIR}}"
553+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
554554
cmds:
555555
- task: "utils:create-venv"
556556
vars:
557557
LABEL: "package"
558558
OUTPUT_DIR: "{{.OUTPUT_DIR}}"
559-
REQUIREMENTS_FILE: "requirements.txt"
559+
REQUIREMENTS_FILE: "{{.ROOT_DIR}}/requirements.txt"
560560
# This command must be last
561561
- task: "utils:compute-checksum"
562562
vars:
563-
DATA_DIR: "{{.OUTPUT_DIR}}"
564-
OUTPUT_FILE: "{{.CHECKSUM_FILE}}"
563+
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
564+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
565565

566566
python-component:
567567
internal: true
@@ -614,15 +614,15 @@ tasks:
614614
- task: "utils:validate-checksum"
615615
vars:
616616
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
617-
DATA_DIR: "{{.OUTPUT_DIR}}"
617+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
618618
cmds:
619619
- "rm -rf '{{.OUTPUT_DIR}}'"
620620
- "PATH='{{.G_METEOR_BUILD_DIR}}':$PATH meteor npm install --production"
621621
# This command must be last
622622
- task: "utils:compute-checksum"
623623
vars:
624-
DATA_DIR: "{{.OUTPUT_DIR}}"
625-
OUTPUT_FILE: "{{.CHECKSUM_FILE}}"
624+
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
625+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
626626

627627
component-venv:
628628
internal: true
@@ -643,7 +643,7 @@ tasks:
643643
- task: "utils:validate-checksum"
644644
vars:
645645
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
646-
DATA_DIR: "{{.OUTPUT_DIR}}"
646+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
647647
cmds:
648648
- task: "utils:create-venv"
649649
vars:
@@ -653,8 +653,8 @@ tasks:
653653
# This command must be last
654654
- task: "utils:compute-checksum"
655655
vars:
656-
DATA_DIR: "{{.OUTPUT_DIR}}"
657-
OUTPUT_FILE: "{{.CHECKSUM_FILE}}"
656+
CHECKSUM_FILE: "{{.CHECKSUM_FILE}}"
657+
INCLUDE_PATTERNS: ["{{.OUTPUT_DIR}}"]
658658
clean-python-component:
659659
internal: true
660660
label: "clean-{{.COMPONENT}}"

components/clp-package-utils/clp_package_utils/general.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
REDIS_COMPONENT_NAME,
2121
REDUCER_COMPONENT_NAME,
2222
RESULTS_CACHE_COMPONENT_NAME,
23-
StorageType,
2423
WEBUI_COMPONENT_NAME,
2524
WorkerConfig,
2625
)
@@ -254,17 +253,17 @@ def generate_container_config(
254253
container_clp_config.archive_output.get_directory(),
255254
)
256255

257-
container_clp_config.stream_output.directory = pathlib.Path("/") / "mnt" / "stream-output"
256+
container_clp_config.stream_output.set_directory(pathlib.Path("/") / "mnt" / "stream-output")
258257
if not is_path_already_mounted(
259258
clp_home,
260259
CONTAINER_CLP_HOME,
261-
clp_config.stream_output.directory,
262-
container_clp_config.stream_output.directory,
260+
clp_config.stream_output.get_directory(),
261+
container_clp_config.stream_output.get_directory(),
263262
):
264263
docker_mounts.stream_output_dir = DockerMount(
265264
DockerMountType.BIND,
266-
clp_config.stream_output.directory,
267-
container_clp_config.stream_output.directory,
265+
clp_config.stream_output.get_directory(),
266+
container_clp_config.stream_output.get_directory(),
268267
)
269268

270269
return container_clp_config, docker_mounts
@@ -276,7 +275,7 @@ def generate_worker_config(clp_config: CLPConfig) -> WorkerConfig:
276275
worker_config.archive_output = clp_config.archive_output.copy(deep=True)
277276
worker_config.data_directory = clp_config.data_directory
278277

279-
worker_config.stream_output_dir = clp_config.stream_output.directory
278+
worker_config.stream_output = clp_config.stream_output
280279
worker_config.stream_collection_name = clp_config.results_cache.stream_collection_name
281280

282281
return worker_config

0 commit comments

Comments
 (0)