Full-stack observability with actually useful AI | Grafana Cloud
Our generous forever free tier includes the full platform, including the AI Assistant, for 3 users with 10k metrics, 50GB logs, and 50GB traces.
Built on open standards like Prometheus and OpenTelemetry, Grafana Cloud includes Kubernetes Monitoring, Application Observability, Incident Response, plus the AI-powered Grafana Assistant. Get started with our generous free tier today.
Create free account
Add Two Lines of Code. Get Full APM.
AppSignal installs in minutes and auto-configures dashboards, alerts, and error tracking.
Works out of the box for Rails, Django, Express, Phoenix, and more. Monitoring exceptions and performance in no time.
Now stored at https://github.com/gregorydgraham/DBvolution
Available from Maven Central: nz.co.gregs.dbvolution
Makes relational data easy and fast to use with semantic annotations and encapsulated datatypes.
Simple declaration of a DB table:
@DBTableName("mytable")
public class MyTable extends DBRow {
@DBColumn("numeric_code")
@DBForeignKey(Code.class)
private DBNumber numericCode = new DBNumber();
@DBColumn("uid_mytable")
@DBPrimaryKey
@DBAutoIncrement
private DBNumber uidMyTable = new DBNumber();
}
Easy Gets:
List<MyTable> myRows = myDB.get(new MyTable());
MyTable row = myDB.getDBTable(new MyTable()).getByPrimaryKey(61176904);
Natural and Outer Joins and Criteria:
CarCo carCo = new CarCo();
carCo.name.isLiterally("GM");
List<DBQueryRow> results = myDB.get(carCo, new Marque());
dbQuery.addOptional(new CarModel());
Easy debugging:
query.getSQLForQuery();
Simple processing:
db.print(query.getAllRows());
List<Marque> marques = query.getAll