Skip to content
Merged

Docs #32

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
33 changes: 7 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,36 +22,16 @@ It sits on OpenTelemetry but abstracts away the complexity. Customer namespaces

See DashFrog in action with a 2-minute demo:

**Step 1: Install DashFrog**

```bash
# setup demo dir
mkdir dashfrog-demo && cd dashfrog-demo
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/towlabs/dashfrog/main/bin/deploy)"
```

This installs DashFrog with Docker Compose and exposes:
- **API/UI** on http://localhost:8000 (login: `admin` / `admin`)
- **OTLP endpoints** on ports 4317 (gRPC) and 4318 (HTTP)

**Step 2: Run the demo**

```bash
# Install dependencies
python -m venv .venv && source .venv/bin/activate
pip install dashfrog requests

# Download and run the demo script
wget https://raw.githubusercontent.com/towlabs/dashfrog/main/dashfrog/demo-app/demo.py
python demo.py
curl -fsSL https://raw.githubusercontent.com/towlabs/dashfrog/main/bin/deploy | bash -s -- --with-demo
```

The demo will:
1. Generate flows and metrics for 3 sample customers
2. Create status page notebooks with live data
3. Print direct links to view the notebooks
This will:
1. Install DashFrog with Docker Compose
2. Start the demo generating sample data
3. Create status page notebooks for 3 customers

Open the links in your browser to explore the data!
Access the UI at **http://localhost:8000** (login: `admin` / `admin`)

> **For production:** See the [Deployment Guide](docs/deployment.md) for Kubernetes, custom configuration, and security hardening.

Expand Down Expand Up @@ -133,6 +113,7 @@ Ideas we're exploring:
- External data sources(API, Prometheus, ...)
- Helpdesk integrations (Zendesk, Intercom)
- Alerting rules
- Frontend SDK for embedding components in apps

## License

Expand Down
49 changes: 45 additions & 4 deletions bin/deploy
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,18 @@ NC='\033[0m' # No Color

# Parse arguments
DEV_MODE=false
if [[ "$1" == "--dev" ]]; then
DEV_MODE=true
fi
WITH_DEMO=false

for arg in "$@"; do
case $arg in
--dev)
DEV_MODE=true
;;
--with-demo)
WITH_DEMO=true
;;
esac
done

# Configuration
GITHUB_REPO="towlabs/dashfrog"
Expand Down Expand Up @@ -157,7 +166,39 @@ else
echo ""
fi


# Start demo if requested
if [ "$WITH_DEMO" = true ]; then
echo -e "${BLUE}🚀 Starting demo...${NC}"
echo ""

# Download demo script
curl -fsSL "${BASE_URL}/dashfrog/demo-app/demo.py" -o demo.py

# Run demo using docker (uses defaults from config.py)
echo -e "${BLUE}Installing dependencies and starting demo...${NC}"
docker run \
--network host \
-v "$(pwd)/demo.py:/app/demo.py" \
python:3.12-slim \
bash -c "pip install -q dashfrog requests && python -u /app/demo.py"

# Wait a moment for demo to start
sleep 2

echo ""
echo -e "${GREEN}✓ Demo is running!${NC}"
echo ""
echo -e "${BLUE}The demo will generate data and create notebooks.${NC}"
echo -e "${BLUE}View notebook links:${NC} docker logs dashfrog-demo"
echo ""
echo -e "${BLUE}Follow live output:${NC} docker logs -f dashfrog-demo"
echo -e "${BLUE}Stop demo:${NC} docker stop dashfrog-demo && docker rm dashfrog-demo"
echo ""
fi

# Print success message
echo ""
echo -e "${GREEN}╔═══════════════════════════════════════╗${NC}"
echo -e "${GREEN}║ 🎉 Installation Complete! 🎉 ║${NC}"
echo -e "${GREEN}╚═══════════════════════════════════════╝${NC}"
Expand All @@ -172,4 +213,4 @@ echo " - DASHFROG_API_SECRET_KEY"
echo " - DASHFROG_POSTGRES_PASSWORD"
echo " - DASHFROG_OTLP_AUTH_TOKEN"
echo " - DASHFROG_API_PASSWORD"
echo " Then run: docker compose restart"
echo " Then run: docker compose down -v && docker compose up -d"
2 changes: 1 addition & 1 deletion dashfrog/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "dashfrog"
version = "0.1.9"
version = "0.1.10"
description = "Business Observability on OpenTelemetry"
readme = "README.md"
requires-python = ">=3.10"
Expand Down
845 changes: 845 additions & 0 deletions dashfrog/src/dashfrog/api/static/assets/index-C8Mc4KrH.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion dashfrog/src/dashfrog/api/static/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>d/ashfrog</title>
<script type="module" crossorigin src="/assets/index-C77Elh4e.js"></script>
<script type="module" crossorigin src="/assets/index-C8Mc4KrH.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-C66BOw1k.css">
</head>
<body>
Expand Down
2 changes: 1 addition & 1 deletion docs/notebooks.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Customer-scoped dashboards that combine metrics and flows. Each notebook belongs
- **Drill-down** - Click any visualization to see historical data
- **Public sharing** - Generate URLs for customer-facing status pages
- **Time windows** - Relative or absolute date ranges
- **Annotations** - Mark deployments, incidents, or events on timelines
- **Annotations** - Add notes and context (will appear on charts in future releases)

## Use Cases

Expand Down
2 changes: 1 addition & 1 deletion frontend/src/utils/editor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,7 @@ export function getSlashMenuItems<
});
const multiColumnItems = getMultiColumnSlashMenuItems(editor);
return [
...combineByGroup(defaultItems, multiColumnItems),
...additionalItems,
...combineByGroup(defaultItems, multiColumnItems),
];
}