https://github.com/milvus-io/birdwatcher
https://github.com/milvus-io/birdwatcher
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/milvus-io/birdwatcher
- Owner: milvus-io
- License: apache-2.0
- Created: 2022-07-04T02:05:07.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-06-05T02:18:25.000Z (about 1 year ago)
- Last Synced: 2025-06-07T15:49:06.912Z (about 1 year ago)
- Language: Go
- Size: 3.86 MB
- Stars: 53
- Watchers: 5
- Forks: 42
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Changelog: history/history.go
- License: LICENSE
Awesome Lists containing this project
- awesome-vector-databases - Birdwatcher - Birdwatcher is a system debugging tool designed for the Milvus vector database. It provides advanced diagnostics to help developers and operators understand and troubleshoot Milvus deployments, ensuring robust vector search operations. ([Read more](/details/birdwatcher.md)) `debugging` `Milvus` `management` `open-source` (Data Integration & Migration)
README
# Birdwatcher
[](https://github.com/milvus-io/birdwatcher/actions/workflows/golangci-lint.yml?query=branch%3Amain+)
A debug tool for Milvus 2.0 or later. This tool connects to etcd and inspects some status of the Milvus system.
## Get Started
### Prerequisite
go 1.18 or higher
### Install birdwatcher
download source and run with go command
```shell
git clone https://github.com/milvus-io/birdwatcher
cd birdwatcher
go install
```
tips: [As JimB notice in comments](https://stackoverflow.com/questions/69807151/go-install-github-com-dmacvicar-terraform-provider-libvirtlatest-shows-error):
> If there are replace or exclude directives in the module, the correct installation method is to clone the source and install it.
## How to use
### connect to etcd

```shell
❯ birdwatcher
# execute connect command, using default config, equal to connect --etcd localhost:2379 --rootPath by-dev
Offline: connect
Using meta path: by-dev/meta/
✔ Milvus(by-dev): show collection
...
```
### connect to remote instance etcd with other basePath
```shell
❯ birdwatcher
Offline: connect --etcd [ip]:[port] --rootPath instanceName
Using meta path: instanceName/meta/
✔ Milvus(instanceName):
```
### inspect some meta

```
Milvus(by-dev): show collections
================================================================================
Collection ID: 434393323906469185 Collection Name:gosdk_index_example
Partitions:
- Partition ID:434393323906469186 Partition Name:_default
Fields:
- Field ID: 0 Field Name: RowID Field Type: Int64
- Field ID: 1 Field Name: Timestamp Field Type: Int64
- Field ID: 100 Field Name: ID Field Type: Int64
- Primary Key, AutoID: false
- Field ID: 101 Field Name: Year Field Type: Int32
- Field ID: 102 Field Name: Vector Field Type: FloatVector
- Type Param dim: 8
Consistency Level: Strong
✔ Milvus(by-dev): █
```
### backup etcd

```
Milvus(by-dev): backup
found 37 keys, at revision 533816, starting backup...
Backing up ... 100%(37/37)
backup etcd for prefix by-dev/meta done, stored in file: bw_etcd_ALL.220707-152246.bak.gz
```
### help
And use `help` command to check other commands.