mirror of
https://codeberg.org/privacy1st/snowflake-stats
synced 2024-12-23 01:56:04 +01:00
pipe into main python script
This commit is contained in:
parent
82bb71a35a
commit
6caaecb42b
30
README.md
30
README.md
@ -2,13 +2,33 @@
|
||||
|
||||
## Usage
|
||||
|
||||
usage: `./main.py <docker-container-name> [<ssh-hostname>]`
|
||||
Usage: `<write-log-to-stdout> | ./main.py`
|
||||
|
||||
Example:
|
||||
- Example: Pipe docker log from remote computer into `main.py`
|
||||
|
||||
```bash
|
||||
(venv-310) [user@linux snoflake-stats]$ ./main.py snowflake-proxy root_at_my_server
|
||||
```
|
||||
```bash
|
||||
(venv-310) [user@linux snoflake-stats]$ ssh root_at_my_server 'docker logs snowflake-proxy' 2>&1 | ./main.py
|
||||
```
|
||||
|
||||
- Example: Pipe logfile into `main.py`
|
||||
|
||||
```bash
|
||||
(venv-310) [user@linux snoflake-stats]$ cat snowflake.log | ./main.py
|
||||
```
|
||||
|
||||
Usage: `./main.py <docker-container-name> [<ssh-hostname>]`
|
||||
|
||||
- Example: Specify name of local docker container
|
||||
|
||||
```bash
|
||||
(venv-310) [user@linux snoflake-stats]$ ./main.py snowflake-proxy
|
||||
```
|
||||
|
||||
- Example: Docker container name and ssh hostname
|
||||
|
||||
```bash
|
||||
(venv-310) [user@linux snoflake-stats]$ ./main.py snowflake-proxy root_at_my_server
|
||||
```
|
||||
|
||||
## Example output
|
||||
|
||||
|
28
main.py
28
main.py
@ -8,17 +8,11 @@ import exec
|
||||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
print(f'usage: {sys.argv[0]} <docker-container-name> [<ssh-hostname>]', file=sys.stderr)
|
||||
exit(1)
|
||||
if len(sys.argv) > 1:
|
||||
log = get_docker_log()
|
||||
else:
|
||||
log = sys.stdin.read()
|
||||
|
||||
container_name = sys.argv[1]
|
||||
|
||||
ssh_hostname = None
|
||||
if len(sys.argv) > 2:
|
||||
ssh_hostname = sys.argv[2]
|
||||
|
||||
log: str = docker_logs(container_name, ssh_hostname)
|
||||
filtered: List[str] = [line for line in log.splitlines()
|
||||
if Throughput.PATTERN in line]
|
||||
# filtered = filtered_example()
|
||||
@ -46,6 +40,20 @@ def filtered_example() -> List[str]:
|
||||
]
|
||||
|
||||
|
||||
def get_docker_log() -> str:
|
||||
if len(sys.argv) < 2:
|
||||
print(f'usage: {sys.argv[0]} <docker-container-name> [<ssh-hostname>]', file=sys.stderr)
|
||||
exit(1)
|
||||
|
||||
container_name = sys.argv[1]
|
||||
|
||||
ssh_hostname = None
|
||||
if len(sys.argv) > 2:
|
||||
ssh_hostname = sys.argv[2]
|
||||
|
||||
return docker_logs(container_name, ssh_hostname)
|
||||
|
||||
|
||||
def docker_logs(container_name: str, ssh_host: str = None) -> str:
|
||||
return exec.execute_and_capture(['docker', 'logs', container_name], ssh_host, 'stderr')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user