Skip to content

Commit

Permalink
review fixes
Browse files Browse the repository at this point in the history
Signed-off-by: Mikhail Avramenko <avramenkomihail15@gmail.com>
  • Loading branch information
Mixaster995 committed Oct 14, 2021
1 parent 337389d commit 746207f
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions pkg/tools/log/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,33 @@

### How to understand logs

1. Every log line starts with timestamp, which is useful when you trying to trace the request in the application chain
1. Every log line starts with timestamp, which is helpful when tracing request in the application chain
2. Most of the log lines contains `[type:NetworkService]` or `[type:NetworkServiceRegistry]` which helps to separate `request` logic from `registration` logic
3. Most of the log lines contains `[id:'some value']` which is helpful when tracing request in application chain
4. It is useful to transform logs using `grep` utility to discard 'noise' logs that is not needed for analyzing(examples will be in section `Useful scripts`)
5. It is helpful to install plugin to IDE which is colorizing logs. (for example ANSI highlighter for Goland)
6. Message `an error during getting metadata from context: metadata is missed in ctx` - id a good criteria for separating ordinary request from refresh request(refresh do not have metadata)
5. It is helpful to install plugin on IDE which is colorizing logs. (for example, ANSI highlighter for Goland)
6. Message `an error during getting metadata from context: metadata is missed in ctx` is a good criteria for separating ordinary request from refresh request(refresh doesn't have metadata)

### Useful scripts

1. Applied to folder containing resulting logs. It removes lines related to Jaeger and remove lines with just spans. Also it changes file extension to be suitable for highlighters
1. Applied to folder containing resulting logs. It removes lines related to Jaeger and remove lines with just spans. Also, it changes file extension to one suitable for highlighters
```bash
for filename in *.logs; do
cat "${filename}" | grep -v "Reporting span" | grep -v "Jaeger" > "$(echo "${filename}" | sed "s/\.logs/\.log/g")"
rm "${filename}"
done
```

2. It is useful to grep logs for specific information you want - id, type, loglevel etc. For example:
- get only networkService type
2. It is useful to grep logs for extracting specific information that you want - by id, type, loglevel etc. For example:
- get only networkService type lines
```bash
grep -w grep -w type:networkService some_log_file.log > another_log_file.log
grep -w type:networkService some_log_file.log > another_log_file.log
```
- get logs **without** any NetworkServiceEndpointRegistry type
- get logs **without** any NetworkServiceEndpointRegistry type lines
```bash
grep -w -v type:NetworkServiceEndpointRegistry some_log_file.log > another_log_file.log
```
- get only specific request id (random id in example)
- get all lines with specific request id (random id in example)
```bash
grep -w id:d7bb2d77-7cd4-44ad-902b-5e392852d93a-final-endpoint some_log_file.log > another_log_file.log
```

0 comments on commit 746207f

Please sign in to comment.