houseme
efaf07d323
feat: preserve request ids across async recovery logs ( #3451 )
...
* feat(obs): promote request ids in structured logs
* refactor(tracing): propagate spans into request tasks
* test(ecstore): baseline recovery monitor log chains
* fix(replication): reduce startup resync log noise
* chore(docs): stop tracking local recovery baseline
* chore(obs): polish request id logging cleanup
2026-06-14 23:16:04 +08:00
houseme
7d38b0cf90
refactor(obs): unify local and otlp log output ( #3352 )
...
wip(obs): start lg-002 output unification
2026-06-11 16:10:54 +08:00
houseme
8d337c4e87
feat(obs): add logging redaction guard rails ( #3349 )
...
* feat(obs): add logging redaction guard rails
* chore(docs): keep logging plans out of lg-001 pr
* test(obs): guard against unmasked access key logs
* test(obs): enforce masked access key log patterns
2026-06-11 15:24:32 +08:00
安正超
94c53af264
refactor(storage): use admin API for observability reads ( #3335 )
2026-06-11 08:13:15 +08:00
唐小鸭
f7724d223b
feat(rio): rio_v2 is compatible with minio for storing data. ( #3115 )
...
* Set up a compatibility layer for replacing old Rio components with new ones.
* fix(rio). compress range
* feat(rio). Add the experimental feature rio_v2 to support minio data at the binary level.
* feat(rio_v2): add sse-c test
* test compression component
* simple fix
* fix minlz encode
* fix metadata
* fix kms key cache error
* Update launch.json
* ci: set nix crate download user agent
* fix: gate obs pyroscope backend
* ignore minio test
* fix encrypt check
* fix
* fix
* fix
* Update object_usecase.rs
* Update ci.yml
* fix
* ci add rio-v2 test
* fix
* ci fix
* fix
* Reconstructed into a more reasonable compatibility mode
* fix
* fix
---------
Signed-off-by: houseme <housemecn@gmail.com >
Signed-off-by: 唐小鸭 <tangtang1251@qq.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: cxymds <Cxymds@qq.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
2026-06-08 11:59:14 +00:00
houseme
6db4c3538d
fix(allocator): restore validated jemalloc target gating ( #3236 )
...
* fix(allocator): restore validated jemalloc target gating
Restrict the global allocator and jemalloc profiling paths to linux-gnu-x86_64 so Linux ARM64 builds fall back to mimalloc again.
Update the runtime profiling, allocator reclaim, and admin profiling handlers to use the same target gating and avoid exposing jemalloc-only code on unsupported targets.
Verification:
- cargo fmt --all
- cargo fmt --all --check
- cargo check -p rustfs
- make pre-commit
* fix(profiling): restore non-jemalloc platform behavior
Restore CPU profiling support on macOS while keeping jemalloc-backed memory profiling restricted to validated linux-gnu-x86_64 targets.
Also restore Unix log directory permission hardening so the allocator regression fix does not roll back unrelated observability behavior on other supported platforms.
Verification in progress:
- cargo fmt --all
- cargo check -p rustfs
- make pre-commit (running)
* fix(profiling): qualify periodic memory log macros
Use explicit tracing macro paths in periodic jemalloc memory profiling logging so builds do not fail when the local target configuration excludes those branches from the current import set.
Verification:
- cargo fmt --all
- cargo check -p rustfs
* fix(profiling): gate unsupported memory helper
Restrict the unsupported memory profiling helper to non-linux-gnu-x86_64 targets so Linux builds do not emit dead_code warnings for an unreachable fallback.
Verification:
- cargo fmt --all
- cargo check -p rustfs
2026-06-06 08:22:29 +00:00
dependabot[bot]
cbb6f9c76f
chore(deps): bump the dependencies group with 6 updates ( #3151 )
...
* chore(deps): bump the dependencies group with 6 updates
Bumps the dependencies group with 6 updates:
| Package | From | To |
| --- | --- | --- |
| [hyper](https://github.com/hyperium/hyper ) | `1.10.0` | `1.10.1` |
| [serial_test](https://github.com/palfrey/serial_test ) | `3.4.0` | `3.5.0` |
| [snafu](https://github.com/shepmaster/snafu ) | `0.9.0` | `0.9.1` |
| [uuid](https://github.com/uuid-rs/uuid ) | `1.23.1` | `1.23.2` |
| [dial9-tokio-telemetry](https://github.com/dial9-rs/dial9-tokio-telemetry ) | `0.3.12` | `0.3.13` |
| [pyroscope](https://github.com/grafana/pyroscope-rs ) | `2.0.5` | `2.0.6` |
Updates `hyper` from 1.10.0 to 1.10.1
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v1.10.0...v1.10.1 )
Updates `serial_test` from 3.4.0 to 3.5.0
- [Release notes](https://github.com/palfrey/serial_test/releases )
- [Commits](https://github.com/palfrey/serial_test/compare/v3.4.0...v3.5.0 )
Updates `snafu` from 0.9.0 to 0.9.1
- [Changelog](https://github.com/shepmaster/snafu/blob/main/CHANGELOG.md )
- [Commits](https://github.com/shepmaster/snafu/compare/0.9.0...0.9.1 )
Updates `uuid` from 1.23.1 to 1.23.2
- [Release notes](https://github.com/uuid-rs/uuid/releases )
- [Commits](https://github.com/uuid-rs/uuid/compare/v1.23.1...v1.23.2 )
Updates `dial9-tokio-telemetry` from 0.3.12 to 0.3.13
- [Release notes](https://github.com/dial9-rs/dial9-tokio-telemetry/releases )
- [Changelog](https://github.com/dial9-rs/dial9/blob/main/CHANGELOG.md )
- [Commits](https://github.com/dial9-rs/dial9-tokio-telemetry/compare/dial9-tokio-telemetry-v0.3.12...dial9-tokio-telemetry-v0.3.13 )
Updates `pyroscope` from 2.0.5 to 2.0.6
- [Release notes](https://github.com/grafana/pyroscope-rs/releases )
- [Changelog](https://github.com/grafana/pyroscope-rs/blob/main/CHANGELOG.md )
- [Commits](https://github.com/grafana/pyroscope-rs/compare/lib-2.0.5...lib-2.0.6 )
---
updated-dependencies:
- dependency-name: hyper
dependency-version: 1.10.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: serial_test
dependency-version: 3.5.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: snafu
dependency-version: 0.9.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: uuid
dependency-version: 1.23.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: dial9-tokio-telemetry
dependency-version: 0.3.13
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: pyroscope
dependency-version: 2.0.6
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix(profiling): pin pyroscope to 2.0.5, add jemalloc memory profiling, unify platform gates
Pin pyroscope to =2.0.5 to avoid duplicate `perf_signal_handler` symbol
caused by 2.0.6 vendoring pprof-rs internally. 2.0.5 depends on external
pprof-pyroscope-fork (v0.1500.4), which Cargo unifies with the workspace's
pprof-pyroscope-fork — a single symbol instance, no linker collision.
Add jemalloc_backend for continuous memory profiling export to Pyroscope,
alongside the existing pprof-based CPU profiling. Both CPU and memory
profiling now work on linux and macos.
Unify platform gates from `cfg(all(target_os = "linux", target_env = "gnu",
target_arch = "x86_64"))` to `cfg(any(target_os = "linux",
target_os = "macos"))`, switching macOS global allocator from mimalloc to
jemalloc.
* style: format cfg attributes in allocator_reclaim.rs
* chore(deps): ignore pyroscope 2.x in dependabot, add profile_type tag
Add pyroscope 2.x to dependabot ignore list to prevent auto-upgrade
past 2.0.5 (>=2.0.6 vendors pprof-rs, causing duplicate symbol conflict).
Add profile_type=cpu tag to CPU profiling agent for differentiation
from memory profiling agent in Pyroscope UI.
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: houseme <housemecn@gmail.com >
2026-06-01 07:21:47 +00:00
houseme
c4248078d6
chore: update dependencies ( #2890 )
...
* chore: update dependencies
* build(deps): bump the dependencies group with 5 updates
* build(deps): bump the dependencies group with 6 updates (#2908 )
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: houseme <housemecn@gmail.com >
* fix(ecstore): narrow Windows URL drive path rewrite
* chore(deps): bump starshard to 1.2.0
* revert(ecstore): restore endpoint Windows path behavior
* up
* up
* up
* perf(notify): use cached snapshot mode for scans
* fix
* chore(deps): bump workspace dependency versions
* chore(deps): refresh pinned dependency references
* chore(ci): align profiling and decommission tooling updates
- enable tokio_unstable cfg in performance profiling build flags\n- bump Rust base image from 1.93 to 1.95 in source and decommission Dockerfiles\n- remove obsolete compose version key from docker-compose-simple.yml\n- add standard Apache-2.0 license header to docker-compose.decommission.yml
* chore(deps): bump the dependencies group across 1 directory with 7 updates (#2994 )
Bumps the dependencies group with 7 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [sysinfo](https://github.com/GuillaumeGomez/sysinfo ) | `0.39.1` | `0.39.2` |
| [dial9-tokio-telemetry](https://github.com/dial9-rs/dial9-tokio-telemetry ) | `0.3.9` | `0.3.10` |
| [opentelemetry](https://github.com/open-telemetry/opentelemetry-rust ) | `0.31.0` | `0.32.0` |
| [opentelemetry-otlp](https://github.com/open-telemetry/opentelemetry-rust ) | `0.31.1` | `0.32.0` |
| [opentelemetry_sdk](https://github.com/open-telemetry/opentelemetry-rust ) | `0.31.0` | `0.32.0` |
| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-rust ) | `0.31.0` | `0.32.0` |
| [opentelemetry-stdout](https://github.com/open-telemetry/opentelemetry-rust ) | `0.31.0` | `0.32.0` |
Updates `sysinfo` from 0.39.1 to 0.39.2
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/main/CHANGELOG.md )
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.39.1...v0.39.2 )
Updates `dial9-tokio-telemetry` from 0.3.9 to 0.3.10
- [Release notes](https://github.com/dial9-rs/dial9-tokio-telemetry/releases )
- [Changelog](https://github.com/dial9-rs/dial9/blob/main/CHANGELOG.md )
- [Commits](https://github.com/dial9-rs/dial9-tokio-telemetry/compare/dial9-tokio-telemetry-v0.3.9...dial9-tokio-telemetry-v0.3.10 )
Updates `opentelemetry` from 0.31.0 to 0.32.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-rust/blob/main/docs/release_0.32.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-prometheus-0.31.0...opentelemetry-0.32.0 )
Updates `opentelemetry-otlp` from 0.31.1 to 0.32.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-rust/blob/main/docs/release_0.32.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/opentelemetry-otlp-0.31.1...opentelemetry-otlp-0.32.0 )
Updates `opentelemetry_sdk` from 0.31.0 to 0.32.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-rust/blob/main/docs/release_0.32.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.31.0...opentelemetry_sdk-0.32.0 )
Updates `opentelemetry-semantic-conventions` from 0.31.0 to 0.32.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-rust/blob/main/docs/release_0.32.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.31.0...opentelemetry-semantic-conventions-0.32.0 )
Updates `opentelemetry-stdout` from 0.31.0 to 0.32.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-rust/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-rust/blob/main/docs/release_0.32.md )
- [Commits](https://github.com/open-telemetry/opentelemetry-rust/compare/v0.31.0...opentelemetry-stdout-0.32.0 )
---
updated-dependencies:
- dependency-name: sysinfo
dependency-version: 0.39.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: dial9-tokio-telemetry
dependency-version: 0.3.10
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: opentelemetry
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: opentelemetry-otlp
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: opentelemetry_sdk
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: opentelemetry-semantic-conventions
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
- dependency-name: opentelemetry-stdout
dependency-version: 0.32.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: houseme <housemecn@gmail.com >
* chore(deps): bump workspace dependency versions
* chore(deps): refresh lockfile windows crate graph
* chore(bench): align snapshot mode labels with coverage
* chore(bench): clarify tested snapshot modes
* fix(review): address PR2890 Copilot comments
---------
Signed-off-by: houseme <housemecn@gmail.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-19 04:58:42 +00:00
houseme
59f41eb86a
feat(obs): improve metrics coverage and dashboard performance ( #2682 )
2026-04-25 18:51:29 +00:00
houseme
47247789ad
feat(obs): support OTLP headers and timeout overrides for HTTP exporters ( #2661 )
2026-04-23 17:02:26 +00:00
houseme
1cbf156559
refactor(obs): migrate metrics runtime/schema and tighten migration guards ( #2584 )
2026-04-18 07:51:15 +00:00
ankohuu
8d27170ce4
fix: limit pyroscope profiling to supported Unix targets ( #2399 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-06 23:05:30 +08:00
houseme
fb2ced4d27
feat(obs): integrate dial9-tokio-telemetry for runtime tracing ( #2285 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-03-25 14:23:58 +08:00
heihutu
3c28f0a0ba
feat(metrics): migrate system monitoring from rustfs-obs to rustfs-metrics ( #2242 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-03-20 18:52:33 +08:00
houseme
94cdb89e29
feat(obs): add init_obs_with_config API and signature guard test ( #2175 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
2026-03-16 18:17:55 +08:00
houseme
6e0f034ad1
refactor(obs): enhance log rotation robustness and refine filter logic ( #2155 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-14 09:20:35 +08:00
houseme
593a58c161
refactor(obs): optimize logging with custom RollingAppender and improved cleanup ( #2151 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Signed-off-by: heihutu <30542132+heihutu@users.noreply.github.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: heihutu <30542132+heihutu@users.noreply.github.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-03-13 13:20:27 +08:00
houseme
5e7495a042
build(obs): restrict pyroscope dependency to unix targets ( #2064 )
2026-03-03 20:41:37 +08:00
evan slack
ac4b13def1
feat(obs): Optional continuous CPU profiling with grafana pyroscope ( #2035 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: heihutu <30542132+heihutu@users.noreply.github.com >
2026-03-03 15:28:58 +08:00
heihutu
2c01b8c49d
feat(obs): add advanced log management configuration ( #2016 )
...
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: 唐小鸭 <tangtang1251@qq.com >
2026-03-01 03:23:48 +08:00
houseme
51584986e1
feat(obs): unify metrics initialization and fix exporter move error ( #851 )
...
* feat(obs): unify metrics initialization and fix exporter move error
- Fix Rust E0382 (use after move) by removing duplicate MetricExporter consumption.
- Consolidate MeterProvider construction into single Recorder builder path.
- Remove redundant Recorder::builder(...).install_global() call.
- Ensure PeriodicReader setup is performed only once (HTTP + optional stdout).
- Set global meter provider and metrics recorder exactly once.
- Preserve existing behavior for stdout/file vs HTTP modes.
- Minor cleanup: consistent resource reuse and interval handling.
* update telemetry.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix
* fix
* fix
* fix: modify logger level from error to event
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-14 00:50:07 +08:00
houseme
29056a767a
Refactor Telemetry Initialization and Environment Utilities ( #811 )
...
* improve code for metrics
* improve code for metrics
* fix
* fix
* Refactor telemetry initialization and environment functions ordering
- Reorder functions in envs.rs by type size (8-bit to 64-bit, signed before unsigned) and add missing variants like get_env_opt_u16.
- Optimize init_telemetry to support three modes: stdout logging (default error level with span tracing), file rolling logs (size-based with retention), and HTTP-based observability with sub-endpoints (trace, metric, log) falling back to unified endpoint.
- Fix stdout logging issue by retaining WorkerGuard in OtelGuard to prevent premature release of async writer threads.
- Enhance observability mode with HTTP protocol, compression, and proper resource management.
- Update OtelGuard to include tracing_guard for stdout and flexi_logger_handles for file logging.
- Improve error handling and configuration extraction in OtelConfig.
* fix
* up
* fix
* fix
* improve code for obs
* fix
* fix
2025-11-07 20:01:54 +08:00
houseme
d934e3905b
Refactor telemetry initialization for non-production environments ( #789 )
...
* add dep `scopeguard`
* improve for tracing
* fix
* fix
* improve code for import
* add logger trace id
* fix
* fix
* fix
* fix
* fix
2025-11-05 00:55:08 +08:00
houseme
0714c7a9ca
modify logger level from info to error ( #744 )
...
* modify logger level from `info` to `error`
* fix test
* improve tokio runtime config
* add rustfs helm chart files (#747 )
* add rustfs helm chart files
* update readme file with helm chart
* delete helm chart license file
* fix typo in readme file
* fix: restore localized samples in tests (#749 )
* fix: restore required localized examples
* style: fix formatting issues
* improve code for Observability
* upgrade crates version
* fix
* up
* fix
---------
Co-authored-by: majinghe <42570491+majinghe@users.noreply.github.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
2025-10-29 19:20:53 +08:00
houseme
e22b24684f
chore: bump dependencies, add metrics support, remove DNS resolver ( #699 )
...
* upgrade version
* add metrics
* remove dns resolver
* add metrics counter for create bucket
* fix
* fix
* fix
2025-10-24 00:16:17 +08:00
houseme
42d3645d6f
fix(targets): make target removal and reload transactional; prevent reappearing entries ( #662 )
...
* feat: improve code for notify
* upgrade starshard version
* upgrade version
* Fix ETag format to comply with HTTP standards by wrapping with quotes (#592 )
* Initial plan
* Fix ETag format to comply with HTTP standards by wrapping with quotes
Co-authored-by: overtrue <1472352+overtrue@users.noreply.github.com >
* bufigx
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: overtrue <1472352+overtrue@users.noreply.github.com >
Co-authored-by: overtrue <anzhengchao@gmail.com >
* Improve lock (#596 )
* improve lock
Signed-off-by: Mu junxiang <1948535941@qq.com >
* feat(tests): add wait_for_object_absence helper and improve lifecycle test reliability
Signed-off-by: Mu junxiang <1948535941@qq.com >
* chore: remove dirty docs
Signed-off-by: Mu junxiang <1948535941@qq.com >
---------
Signed-off-by: Mu junxiang <1948535941@qq.com >
* feat(append): implement object append operations with state tracking (#599 )
* feat(append): implement object append operations with state tracking
Signed-off-by: junxiang Mu <1948535941@qq.com >
* chore: rebase
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: junxiang Mu <1948535941@qq.com >
* build(deps): upgrade s3s (#595 )
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
* fix: validate mqtt broker
* improve code for `import`
* fix
* improve
* remove logger from `rustfs-obs` crate
* remove code for config Observability
* fix
* improve code
* fix comment
* up
* up
* upgrade version
* fix
* fmt
* upgrade tokio version to 1.48.0
* upgrade `datafusion` and `reed-solomon-simd` version
* fix
* fmt
* improve code for notify webhook example
* improve code
* fix
* fix
* fmt
---------
Signed-off-by: Mu junxiang <1948535941@qq.com >
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: overtrue <1472352+overtrue@users.noreply.github.com >
Co-authored-by: overtrue <anzhengchao@gmail.com >
Co-authored-by: guojidan <63799833+guojidan@users.noreply.github.com >
Co-authored-by: Nugine <nugine@foxmail.com >
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
2025-10-17 15:34:53 +08:00
houseme
a12a3bedc3
feat(obs): optimize WriteMode selection logic in init_telemetry ( #546 )
...
- Refactor WriteMode selection to ensure all variables moved into thread closures are owned types, preventing lifetime issues.
- Simplify and clarify WriteMode assignment for production and non-production environments.
- Improve code readability and maintainability for logger initialization.
2025-09-16 08:25:37 +08:00
houseme
6c37e1cb2a
refactor: replace lazy_static with LazyLock ( #318 )
...
* refactor: replace `lazy_static` with `LazyLock`
Replace `lazy_static` with `LazyLock`.
Compile time may reduce a little.
See https://github.com/rust-lang-nursery/lazy-static.rs/issues/214
* fmt
* fix
2025-07-31 14:25:39 +08:00
houseme
c5df1f92c2
refactor: replace lazy_static with LazyLock and notify crate registry create_targets_from_config ( #311 )
...
* improve code for notify
* improve code for logger and fix typo (#272 )
* Add GNU to build.yml (#275 )
* fix unzip error
* fix url change error
fix url change error
* Simplify user experience and integrate console and endpoint
Simplify user experience and integrate console and endpoint
* Add gnu to build.yml
* upgrade version
* feat: add `cargo clippy --fix --allow-dirty` to pre-commit command (#282 )
Resolves #277
- Add --fix flag to automatically fix clippy warnings
- Add --allow-dirty flag to run on dirty Git trees
- Improves code quality in pre-commit workflow
* fix: the issue where preview fails when the path length exceeds 255 characters (#280 )
* fix
* fix: improve Windows build support and CI/CD workflow (#283 )
- Fix Windows zip command issue by using PowerShell Compress-Archive
- Add Windows support for OSS upload with ossutil
- Replace Chinese comments with English in build.yml
- Fix bash syntax error in package_zip function
- Improve code formatting and consistency
- Update various configuration files for better cross-platform support
Resolves Windows build failures in GitHub Actions.
* fix: update link in README.md leading to a 404 error (#285 )
* add rustfs.spec for rustfs (#103 )
add support on loongarch64
* improve cargo.lock
* build(deps): bump the dependencies group with 5 updates (#289 )
Bumps the dependencies group with 5 updates:
| Package | From | To |
| --- | --- | --- |
| [hyper-util](https://github.com/hyperium/hyper-util ) | `0.1.15` | `0.1.16` |
| [rand](https://github.com/rust-random/rand ) | `0.9.1` | `0.9.2` |
| [serde_json](https://github.com/serde-rs/json ) | `1.0.140` | `1.0.141` |
| [strum](https://github.com/Peternator7/strum ) | `0.27.1` | `0.27.2` |
| [sysinfo](https://github.com/GuillaumeGomez/sysinfo ) | `0.36.0` | `0.36.1` |
Updates `hyper-util` from 0.1.15 to 0.1.16
- [Release notes](https://github.com/hyperium/hyper-util/releases )
- [Changelog](https://github.com/hyperium/hyper-util/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper-util/compare/v0.1.15...v0.1.16 )
Updates `rand` from 0.9.1 to 0.9.2
- [Release notes](https://github.com/rust-random/rand/releases )
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-random/rand/compare/rand_core-0.9.1...rand_core-0.9.2 )
Updates `serde_json` from 1.0.140 to 1.0.141
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.140...v1.0.141 )
Updates `strum` from 0.27.1 to 0.27.2
- [Release notes](https://github.com/Peternator7/strum/releases )
- [Changelog](https://github.com/Peternator7/strum/blob/master/CHANGELOG.md )
- [Commits](https://github.com/Peternator7/strum/compare/v0.27.1...v0.27.2 )
Updates `sysinfo` from 0.36.0 to 0.36.1
- [Changelog](https://github.com/GuillaumeGomez/sysinfo/blob/master/CHANGELOG.md )
- [Commits](https://github.com/GuillaumeGomez/sysinfo/compare/v0.36.0...v0.36.1 )
---
updated-dependencies:
- dependency-name: hyper-util
dependency-version: 0.1.16
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: rand
dependency-version: 0.9.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: serde_json
dependency-version: 1.0.141
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: strum
dependency-version: 0.27.2
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
- dependency-name: sysinfo
dependency-version: 0.36.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* improve code for logger
* improve
* upgrade
* refactor: 优化构建工作流,统一 latest 文件处理和简化制品上传 (#293 )
* Refactor: DatabaseManagerSystem as global
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix: fmt
Signed-off-by: junxiang Mu <1948535941@qq.com >
* Test: add e2e_test for s3select
Signed-off-by: junxiang Mu <1948535941@qq.com >
* Test: add test script for e2e
Signed-off-by: junxiang Mu <1948535941@qq.com >
* improve code for registry and intergation
* improve code for registry `create_targets_from_config`
* fix
* Feature up/ilm (#305 )
* fix
* fix
* fix
* fix delete-marker expiration. add api_restore.
* fix
* time retry object upload
* lock file
* make fmt
* fix
* restore object
* fix
* fix
* serde-rs-xml -> quick-xml
* fix
* checksum
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* transfer lang to english
* upgrade clap version from 4.5.41 to 4.5.42
* refactor: replace `lazy_static` with `LazyLock`
* add router
* fix: modify comment
* improve code
* fix typos
* fix
* fix: modify name and fmt
* improve code for registry
* fix test
---------
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: shiro.lee <69624924+shiroleeee@users.noreply.github.com >
Co-authored-by: Marco Orlandin <mipnamic@mipnamic.net >
Co-authored-by: zhangwenlong <zhangwenlong@loongson.cn >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: likewu <likewu@126.com >
2025-07-30 19:02:10 +08:00
houseme
36acb5bce9
feat(console): Enhance network address handling for WebUI ( #129 )
...
* add crates homepage,description,keywords,categories,documentation
* add readme
* modify version 0.0.3
* cargo fmt
* fix: yaml.docker-compose.security.no-new-privileges.no-new-privileges-docker-compose.yml (#63 )
* Feature up/ilm (#61 )
* fix delete-marker expiration. add api_restore.
* remove target return 204
* log level
* fix: make lint build and clippy happy (#71 )
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* fix: make ci and local use the same toolchain (#72 )
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
* feat: optimize GitHub Actions workflows with performance improvements (#77 )
* feat: optimize GitHub Actions workflows with performance improvements
- Rename workflows with more descriptive names
- Add unified setup action for consistent environment setup
- Optimize caching strategy with Swatinem/rust-cache@v2
- Implement skip-check mechanism to avoid duplicate builds
- Simplify matrix builds with better include/exclude logic
- Add intelligent build strategy checks
- Optimize Docker multi-arch builds
- Improve artifact naming and retention
- Add performance testing with benchmark support
- Enhance security audit with dependency scanning
- Change Chinese comments to English for better maintainability
Performance improvements:
- CI testing: ~35 min (42% faster)
- Build release: ~60 min (50% faster)
- Docker builds: ~45 min (50% faster)
- Security audit: ~8 min (47% faster)
* fix: correct secrets context usage in GitHub Actions workflow
- Move environment variables to job level to fix secrets access issue
- Fix unrecognized named-value 'secrets' error in if condition
- Ensure OSS upload step can properly check for required secrets
* fix: resolve GitHub API rate limit by adding authentication token
- Add github-token input to setup action to authenticate GitHub API requests
- Pass GITHUB_TOKEN to all setup action usages to avoid rate limiting
- Fix arduino/setup-protoc@v3 API access issues in CI/CD workflows
- Ensure protoc installation can successfully access GitHub releases API
* fix:make bucket err (#85 )
* Rename DEVELOPMENT.md to CONTRIBUTING.md
* Create issue-translator.yml (#89 )
Enable Issues Translator
* fix(dockerfile): correct env variable names for access/secret key and improve compatibility (#90 )
* fix: restore Zig and cargo-zigbuild caching in GitHub Actions setup action (#92 )
* fix: restore Zig and cargo-zigbuild caching in GitHub Actions setup action
Use mlugg/setup-zig and taiki-e/cache-cargo-install-action to speed up cross-compilation tool installation and avoid repeated downloads. All comments and code are in English.
* fix: use correct taiki-e/install-action for cargo-zigbuild
Use taiki-e/install-action@cargo-zigbuild instead of taiki-e/cache-cargo-install-action@v2 to match the original implementation from PR #77 .
* refactor: remove explicit Zig version to use latest stable
* Create CODE_OF_CONDUCT.md
* Create SECURITY.md
* Update issue templates
* Create CLA.md
* docs: update PR template to English version
* fix: improve data scanner random sleep calculation
- Fix random number generation API usage
- Adjust sleep calculation to follow MinIO pattern
- Ensure proper random range for scanner cycles
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix: soupprt ipv6
* improve log
* add client ip log
* Update rustfs/src/console.rs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* improve code
* feat: unify package format to zip for all platforms
---------
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: kira-offgrid <kira@offgridsec.com >
Co-authored-by: likewu <likewu@126.com >
Co-authored-by: laoliu <lygn128@163.com >
Co-authored-by: yihong <zouzou0208@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: weisd <im@weisd.in >
Co-authored-by: Yone <zhiyu@live.cn >
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
Co-authored-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-07-09 14:39:40 +08:00
houseme
2e14b32ccd
chore: Add copyright and license headers ( #23 )
...
* chore: Add copyright and license headers
This commit adds the Apache 2.0 license and a copyright notice to the header of all source files. This ensures that the licensing and copyright information is clearly stated within the codebase.
* cargo fmt
* fix
* fmt
* fix clippy
2025-07-02 15:07:47 +08:00
houseme
28c71cc351
fix
2025-06-09 12:25:56 +08:00
houseme
690ce7fae4
feat(obs): upgrade OpenTelemetry dependencies to latest version ( #447 )
...
- Update opentelemetry from 0.29.1 to 0.30.0
- Update related opentelemetry dependencies for compatibility
- Ensure compatibility with existing observability implementation
- Improve tracing and metrics collection capabilities
This upgrade provides better performance and stability for our observability stack.
2025-06-07 22:22:26 +08:00
houseme
77ddd1cfe0
Merge branch 'main' of github.com:rustfs/s3-rustfs into feature/observability-metrics
...
# Conflicts:
# Cargo.lock
# Cargo.toml
2025-06-06 15:52:32 +08:00
houseme
6302764512
improve code for reqwest feature
2025-06-06 14:35:40 +08:00
houseme
a394a3163f
upgrade version
2025-06-06 13:49:31 +08:00
houseme
7f983e72e7
fix: must_use
2025-05-30 15:11:51 +08:00
houseme
3ceec7b5f2
improve code for obs
2025-05-29 21:10:04 +08:00
houseme
571cedf4ce
feat(obs): implement global OpenTelemetry guard management
2025-05-12 13:32:18 +08:00
houseme
dd7da015e3
Feature/rustfs config ( #396 )
...
* init rustfs config
* improve code for rustfs-config crate
* add
* improve code for comment
* fix: modify rustfs-config crate name
* add default fn
* improve error logger
* fix: modify docker config yaml
* improve code for config
* feat: restrict kafka feature to Linux only
- Add target-specific feature configuration in Cargo.toml for obs and event-notifier crates
- Implement conditional compilation for kafka feature only on Linux systems
- Add appropriate error handling for non-Linux platforms
- Ensure backward compatibility with existing code
* refactor(ci): optimize build workflow for better efficiency
- Integrate GUI build steps into main build-rustfs job
- Add conditional GUI build execution based on tag releases
- Simplify workflow by removing redundant build-rustfs-gui job
- Copy binary directly to embedded-rustfs directory without downloading artifacts
- Update merge job dependency to only rely on build-rustfs
- Improve cross-platform compatibility for Windows binary naming (.exe)
- Streamline artifact uploading and OSS publishing process
- Maintain consistent conditional logic for release operations
* refactor(ci): optimize build workflow for better efficiency
- Integrate GUI build steps into main build-rustfs job
- Add conditional GUI build execution based on tag releases
- Simplify workflow by removing redundant build-rustfs-gui job
- Copy binary directly to embedded-rustfs directory without downloading artifacts
- Update merge job dependency to only rely on build-rustfs
- Improve cross-platform compatibility for Windows binary naming (.exe)
- Streamline artifact uploading and OSS publishing process
- Maintain consistent conditional logic for release operations
* fix(ci): add repo-token to setup-protoc action for authentication
- Add GITHUB_TOKEN parameter to arduino/setup-protoc@v3 action
- Ensure proper authentication for Protoc installation in CI workflow
- Maintain consistent setup across different CI environments
* modify config
* improve readme.md
* remove env config relation
* add allow(dead_code)
2025-05-12 01:17:31 +08:00
houseme
e8f8a0872d
modify Telemetry filter order
2025-04-27 09:50:32 +08:00
houseme
86353d98d5
feat: add TraceLayer for HTTP service and improve metrics ( #361 )
...
* improve code for opentelemetry and add system metrics
* feat: add TraceLayer for HTTP service and improve metrics
- Add TraceLayer to HTTP server for request tracing
- Implement system metrics for process monitoring
- Optimize init_telemetry method for better resource management
- Add graceful shutdown handling for telemetry components
- Fix GracefulShutdown ownership issues with Arc wrapper
* improve code for init_process_observer
* remove tomlfmt.toml
* Translation comment
* improve code for console CompressionLayer params
2025-04-24 19:04:57 +08:00
houseme
a07ca8ae81
improve code for obs
2025-04-09 15:12:31 +08:00