Skip to content

Commit 0c7814a

Browse files
committed
update docs
1 parent 793ca75 commit 0c7814a

File tree

8 files changed

+184
-520
lines changed

8 files changed

+184
-520
lines changed

docs/src/README.md

Lines changed: 1 addition & 130 deletions
Original file line numberDiff line numberDiff line change
@@ -1,130 +1 @@
1-
# DeepTrace Documentation
2-
3-
Welcome to the comprehensive documentation for **DeepTrace** - a cutting-edge, non-intrusive distributed tracing framework designed specifically for microservices architectures.
4-
5-
## What is DeepTrace?
6-
7-
**DeepTrace** is a revolutionary distributed tracing framework that enables accurate end-to-end observation of request execution paths in microservices environments **without requiring any code instrumentation**. By leveraging advanced eBPF technology and intelligent transaction semantics, DeepTrace achieves over 95% tracing accuracy even under high concurrency scenarios.
8-
9-
### Key Innovations
10-
11-
🚀 **Non-Intrusive Design**
12-
No code changes required - DeepTrace works out of the box with your existing applications
13-
14-
🔍 **Protocol-Aware Intelligence**
15-
Supports 20+ application protocols (HTTP, gRPC, Redis, MongoDB, etc.) with intelligent parsing
16-
17-
🧠 **Transaction-Based Correlation**
18-
Uses dual-phase transaction inference with API affinity and persistent field similarity
19-
20-
**High Performance**
21-
94% reduction in transmission overhead compared to traditional tracing frameworks
22-
23-
🎯 **Production Ready**
24-
Successfully deployed across finance, e-commerce, and other industries
25-
26-
## Architecture Overview
27-
28-
DeepTrace consists of two main components:
29-
30-
- **Agent**: Deployed on each host, responsible for non-intrusive request collection through eBPF
31-
- **Server**: Runs in Kubernetes clusters, handles trace reconstruction and provides query services
32-
33-
```mermaid
34-
graph TB
35-
subgraph "Host 1"
36-
A1[Application 1]
37-
A2[Application 2]
38-
AG1[DeepTrace Agent]
39-
A1 --> AG1
40-
A2 --> AG1
41-
end
42-
43-
subgraph "Host 2"
44-
A3[Application 3]
45-
A4[Application 4]
46-
AG2[DeepTrace Agent]
47-
A3 --> AG2
48-
A4 --> AG2
49-
end
50-
51-
subgraph "DeepTrace Server Cluster"
52-
S[DeepTrace Server]
53-
DB[(Elasticsearch)]
54-
WEB[Web Interface]
55-
S --> DB
56-
S --> WEB
57-
end
58-
59-
AG1 --> S
60-
AG2 --> S
61-
```
62-
63-
## Core Features
64-
65-
### 1. Protocol-Aware Span Construction
66-
- **eBPF-based packet capture** for non-intrusive monitoring
67-
- **Protocol templates** for accurate parsing of 20+ protocols
68-
- **Smart request boundary detection** using length-field jumps and full parsing
69-
- **Efficient span creation** with critical metadata extraction
70-
71-
### 2. Transaction-Based Span Correlation
72-
- **Nested API affinity**: Traffic intensity correlations using Pearson coefficients
73-
- **Persistent field similarity**: TF-IDF-weighted cosine similarity for transaction field isolation
74-
- **Entropy-weighted adaptive scoring**: Intelligent fusion of transaction semantics and causality metrics
75-
- **15% reduction in misattributions** compared to traditional delay/FIFO methods
76-
77-
### 3. Query-Driven Trace Assembly
78-
- **On-host compression** and **dual-indexing** for minimal overhead
79-
- **Iterative trace reconstruction** based on operator queries
80-
- **Tag-based inverted indexes** and **metric histograms**
81-
- **94% reduction in transmission overhead** while maintaining query flexibility
82-
83-
## Quick Navigation
84-
85-
### 🚀 Getting Started
86-
New to DeepTrace? Start here:
87-
- [Quick Start Guide](./getting-started/quick-start.md) - Get up and running in 10 minutes
88-
- [Installation](./getting-started/installation.md) - Detailed installation instructions
89-
- [All-in-One Deployment](./getting-started/all-in-one.md) - Single-host setup for testing
90-
91-
### 📖 User Guide
92-
Learn how to use DeepTrace effectively:
93-
- [Basic Usage](./user-guide/basic-usage.md) - Essential operations and workflows
94-
- [Deployment Modes](./user-guide/deployment-modes.md) - Choose the right deployment strategy
95-
- [Trace Analysis](./user-guide/trace-analysis.md) - Analyze and interpret traces
96-
97-
### 🏗️ Architecture & Implementation
98-
Understand how DeepTrace works:
99-
- [System Overview](./architecture/overview.md) - High-level architecture
100-
- [eBPF Implementation](./ebpf/overview.md) - Deep dive into eBPF components
101-
- [Advanced Topics](./advanced/correlation-algorithms.md) - Advanced features and algorithms
102-
103-
### 🔧 Development & Testing
104-
For developers and contributors:
105-
- [Testing Guide](./testing/overview.md) - Comprehensive testing strategies
106-
- [API Reference](./api/agent.md) - Complete API documentation
107-
- [Troubleshooting](./troubleshooting/common-issues.md) - Common issues and solutions
108-
109-
## Supported Environments
110-
111-
DeepTrace has been tested and verified on:
112-
113-
- **Operating System**: Ubuntu 24.04 LTS
114-
- **Kernel Version**: 6.8.0-55-generic or later
115-
- **Container Runtime**: Docker v26.1.3+
116-
- **Orchestration**: Kubernetes 1.20+
117-
118-
## Community & Support
119-
120-
- **GitHub Repository**: [DeepShield-AI/DeepTrace](https://github.com/DeepShield-AI/DeepTrace)
121-
- **Issues & Bug Reports**: [GitHub Issues](https://github.com/DeepShield-AI/DeepTrace/issues)
122-
- **Discussions**: [GitHub Discussions](https://github.com/DeepShield-AI/DeepTrace/discussions)
123-
124-
## License
125-
126-
DeepTrace is released under the [MIT License](./appendix/license.md).
127-
128-
---
129-
130-
Ready to get started? Jump to our [Quick Start Guide](./getting-started/quick-start.md) and have DeepTrace running in minutes!
1+
# Introduction

docs/src/SUMMARY.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Summary
22

3-
[Introduction](./README.md)
3+
[Introduction](./introduction.md)
44

55
---
66

docs/src/getting-started/configuration.md

Lines changed: 2 additions & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,8 @@ server/config/config.toml
2424

2525
DeepTrace provides several example configurations:
2626

27-
- `config.toml.example` - Basic configuration template
27+
- `deeptrace.toml.example` - Basic configuration template
2828
- `full.toml` - Complete configuration with all options
29-
- `production.toml` - Production-ready configuration
30-
- `development.toml` - Development environment settings
3129

3230
## Required Configuration
3331

@@ -96,77 +94,6 @@ workers = 16
9694
ip = "0.0.0.0"
9795
port = 7901
9896
path = "deeptrace/ws"
99-
100-
# Additional server settings
101-
max_connections = 1000
102-
connection_timeout = 30
103-
heartbeat_interval = 10
104-
```
105-
106-
### DeepTrace Service
107-
108-
```toml
109-
# DeepTrace agent service port
110-
deeptrace_port = 52001
111-
112-
# Service configuration
113-
[service]
114-
log_level = "info"
115-
log_file = "/var/log/deeptrace/agent.log"
116-
pid_file = "/var/run/deeptrace/agent.pid"
117-
```
118-
119-
### Agent Performance Settings
120-
121-
```toml
122-
[agents]
123-
# Span processing configuration
124-
[agents.span]
125-
batch_size = 1024
126-
flush_interval = 5
127-
max_queue_size = 10000
128-
129-
# Data sender configuration
130-
[agents.sender]
131-
mem_buffer_size = 16 # MB
132-
file_buffer_size = 32 # MB
133-
file_size_limit = 1024 # MB
134-
batch_size = 1024
135-
compression = true
136-
retry_attempts = 3
137-
retry_delay = 1000 # milliseconds
138-
139-
# Trace collection settings
140-
[agents.trace]
141-
# Specific PIDs to monitor (empty = monitor all Docker containers)
142-
pids = []
143-
144-
# Process filtering
145-
include_processes = ["nginx", "redis", "mongodb"]
146-
exclude_processes = ["systemd", "kernel"]
147-
148-
# Protocol detection
149-
auto_detect_protocols = true
150-
supported_protocols = ["http", "grpc", "redis", "mongodb", "mysql"]
151-
```
152-
153-
### API Configuration
154-
155-
```toml
156-
[agents.api]
157-
# API server settings
158-
port = 7899
159-
address = "0.0.0.0"
160-
workers = 1
161-
ident = "deeptrace"
162-
163-
# API security
164-
enable_auth = false
165-
api_key = "your_api_key_here"
166-
167-
# Rate limiting
168-
rate_limit = 1000 # requests per minute
169-
burst_limit = 100
17097
```
17198

17299
## Advanced Configuration
@@ -274,23 +201,6 @@ ssh_port = 22
274201
ssh_key_path = "/home/deeptrace/.ssh/id_rsa"
275202
```
276203

277-
#### TLS Configuration
278-
279-
Enable TLS for secure communication:
280-
281-
```toml
282-
[server.tls]
283-
enabled = true
284-
cert_file = "/etc/deeptrace/certs/server.crt"
285-
key_file = "/etc/deeptrace/certs/server.key"
286-
ca_file = "/etc/deeptrace/certs/ca.crt"
287-
288-
[elastic.tls]
289-
enabled = true
290-
verify_certificates = true
291-
ca_file = "/etc/elasticsearch/certs/ca.crt"
292-
```
293-
294204
## Environment Variables
295205

296206
DeepTrace supports environment variable substitution in configuration files:
@@ -347,8 +257,6 @@ Error: Cannot connect to Elasticsearch at localhost:9200
347257
### 1. Security
348258

349259
- **Use environment variables** for sensitive information
350-
- **Enable TLS** for production deployments
351-
- **Use SSH keys** instead of passwords
352260
- **Restrict network access** to DeepTrace ports
353261

354262
### 2. Performance
@@ -372,75 +280,6 @@ Error: Cannot connect to Elasticsearch at localhost:9200
372280
- **Test configuration changes** in development first
373281
- **Keep backups** of working configurations
374282

375-
## Configuration Templates
376-
377-
### Small Deployment (1-5 hosts)
378-
379-
```toml
380-
[server]
381-
ip = "192.168.1.100"
382-
port = 7901
383-
384-
[elastic]
385-
elastic_password = "simple_password"
386-
bulk_size = 512
387-
388-
[[agents.agent_info]]
389-
agent_name = "small-deployment"
390-
user_name = "ubuntu"
391-
host_ip = "192.168.1.101"
392-
ssh_port = 22
393-
host_password = "password"
394-
workers = 4
395-
396-
[agents.sender]
397-
batch_size = 512
398-
mem_buffer_size = 16
399-
```
400-
401-
### Medium Deployment (5-20 hosts)
402-
403-
```toml
404-
[server]
405-
ip = "deeptrace.internal.com"
406-
port = 7901
407-
408-
[elastic]
409-
elastic_password = "${ELASTIC_PASSWORD}"
410-
bulk_size = 1024
411-
request_timeout = 20
412-
413-
# Multiple agents configuration...
414-
[agents.sender]
415-
batch_size = 1024
416-
mem_buffer_size = 32
417-
compression = true
418-
```
419-
420-
### Large Deployment (20+ hosts)
421-
422-
```toml
423-
[server]
424-
ip = "deeptrace-cluster.company.com"
425-
port = 7901
426-
max_connections = 5000
427-
428-
[elastic]
429-
elastic_password = "${ELASTIC_PASSWORD}"
430-
bulk_size = 2048
431-
request_timeout = 30
432-
433-
[agents.sender]
434-
batch_size = 2048
435-
mem_buffer_size = 64
436-
file_buffer_size = 128
437-
compression = true
438-
439-
[logging]
440-
level = "warn"
441-
file = "/var/log/deeptrace/production.log"
442-
```
443-
444283
## Troubleshooting Configuration
445284

446285
### Common Issues
@@ -476,8 +315,4 @@ After configuring DeepTrace:
476315

477316
1. **[All-in-One Deployment](./all-in-one.md)**: Deploy for testing
478317
2. **[Basic Usage](../user-guide/basic-usage.md)**: Start using DeepTrace
479-
3. **[Troubleshooting](../troubleshooting/common-issues.md)**: Resolve issues
480-
481-
---
482-
483-
Proper configuration is crucial for DeepTrace's performance and reliability. Take time to understand each setting and adjust them according to your specific requirements and environment.
318+
3. **[Troubleshooting](../troubleshooting/common-issues.md)**: Resolve issues

0 commit comments

Comments
 (0)