Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update main docs and correct changelog again for 0.7.2 #488

Merged
merged 2 commits into from
Aug 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion website/src/pages/docs/attach-running.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ When you attach AppScope to a process, its child processes are not automatically

You cannot attach to a musl libc process or a static executable's process.

No HTTP1 events and headers are emitted when AppScope attaches to a Go process that uses the `azure-sdk-for-go` package.
No HTTP/1.1 events and headers are emitted when AppScope attaches to a Go process that uses the `azure-sdk-for-go` package.

No events are emitted from files or sockets that exists before AppScope attaches to a process.

Expand Down
2 changes: 1 addition & 1 deletion website/src/pages/docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ See the AppScope repo to view [all issues](https://github.com/criblio/appscope/i

- **Improvement**: [#395](https://github.com/criblio/appscope/issues/395) Add a new environment variable, `SCOPE_CONNECT_TIMEOUT_SECS`, to configure wait behavior. This prevents events and metrics from being dropped when a scoped command exits quickly while using a connection with network latency.

- **Improvement**: [#311](https://github.com/criblio/appscope/issues/311) AppScope can now receive HTTP events from LogStream, whether the events originate as HTTP/1.1 or HTTP/2 traffic.
- **Improvement**: [#311](https://github.com/criblio/appscope/issues/311) AppScope can now stream HTTP payloads to LogStream, whether the payloads originate as HTTP/1.1 or HTTP/2 traffic. LogStream then converts the payloads to HTTP events.

- **Fix**: [#407](https://github.com/criblio/appscope/issues/407) To prevent errors, `scope prune` now rejects negative numbers as arguments. Positive arguments implicitly mean "how many sessions back" to delete or keep.

Expand Down
9 changes: 6 additions & 3 deletions website/src/pages/docs/cli-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ Outputs metrics for a session.
### prune
----

Deletes scope history for this session.
Prunes (deletes) one or more sessions from the history.

#### Usage

Expand All @@ -192,16 +192,19 @@ Deletes scope history for this session.
```
scope prune -k 20
scope prune -a
scope delete -d 1
```

#### Flags

Negative arguments are not allowed.

```
-a, --all Delete all sessions
-d, --delete int Delete last <delete> sessions (default -1)
-d, --delete int Delete last <delete> sessions
-f, --force Do not prompt for confirmation
-h, --help help for prune
-k, --keep int Keep last <keep> sessions (default -1)
-k, --keep int Keep last <keep> sessions, delete all others
```

### run
Expand Down
12 changes: 10 additions & 2 deletions website/src/pages/docs/logstream-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ SCOPE_CRIBL=tcp://ip:port

### Requirements

You must supply a host name or IPv4 address, along with an optional port number. If you omit the port number, AppScope will attempt to connect on the default port `10090`.
You must supply a host name or IPv4 address, along with an optional port number. If you omit the port number, AppScope will attempt to connect on the default port `10090`.

On the LogStream side, a built-in [AppScope Source](https://docs.cribl.io/docs/sources-appscope) receives data from AppScope by default. You can change its configuration or create additional AppScope Sources as needed.

### Parameter Overrides

Expand All @@ -34,11 +36,17 @@ The following configuration elements are enabled by default when a LogStream con
- Console
- FS
- Net
- HTTP
- HTTP/1.1 and HTTP/2.0
- DNS

Other configuration elements are not modified by a LogStream connection.

### HTTP Traffic

The AppScope Source streams HTTP payloads to LogStream, whether the payloads originate as HTTP/1.1 or HTTP/2 traffic. LogStream then converts the payloads to HTTP events.

Separately, the AppScope library can convert HTTP/1.1 (not HTTP/2) payloads to HTTP events. This is mainly useful for streaming HTTP events to destinations **other than** LogStream.

## Using TLS for Secure Connections

AppScope supports TLS over TCP connections.
Expand Down
8 changes: 8 additions & 0 deletions website/src/pages/docs/tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,14 @@ cribl:
cacertpath: ''
```

## Adapting to Network Latency

When you connect AppScope to LogStream or another application, you can usually assume that the process you are scoping will last long enough for AppScope to make the network connection and stream the data to the destination.

This might not hold true if the command or application being scoped exits quickly and network connection latency is relatively high. Under these conditions, events and metrics can be dropped and never reach the destination.

To mitigate this problem, you can set the `SCOPE_CONNECT_TIMEOUT_SECS` environment variable (which is unset by default) to `N`. Then, the AppScope library will keep the scoped process open for `N` seconds, giving AppScope that amount of time to connect and stream data over the network.

## Scoping Without TLS

If you prefer to communicate without encryption, connect to port 10091 instead of port 10090.
Expand Down