diff --git a/frameworks/Go/aah/README.md b/frameworks/Go/aah/README.md deleted file mode 100644 index d154da40489..00000000000 --- a/frameworks/Go/aah/README.md +++ /dev/null @@ -1,26 +0,0 @@ -

- -

Benchmark Application

-

aah - A secure, flexible, rapid Go web framework

-

- -Visit official website https://aahframework.org to learn more about `aah` framework. - -### Test URLs - - * http://localhost:8080/json - * http://localhost:8080/plaintext - -### Test URLs - w/ MySQL Datasource - - * http://localhost:8080/db - * http://localhost:8080/db/queries?count=[1-500] - * http://localhost:8080/db/fortunes - * http://localhost:8080/db/updates?count=[1-500] - -### Test URLs - w/ PostgreSQL Datasource - - * http://localhost:8080/pg-db - * http://localhost:8080/pg-db/queries?count=[1-500] - * http://localhost:8080/pg-db/fortunes - * http://localhost:8080/pg-db/updates?count=[1-500] diff --git a/frameworks/Go/aah/aah-mysql.dockerfile b/frameworks/Go/aah/aah-mysql.dockerfile deleted file mode 100644 index 626642cecd8..00000000000 --- a/frameworks/Go/aah/aah-mysql.dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM golang:1.14 - -RUN apt-get update -yqq - -ADD ./ /aah -WORKDIR /aah - -ENV GOPATH /aah -ENV PATH ${GOPATH}/bin:${PATH} -ENV GO111MODULE on - -RUN curl -sL https://aahframework.org/install-cli | bash -s v0.13.3 - -WORKDIR /aah/src/benchmark - -RUN aah --version -RUN mkdir -p views/common -RUN aah build --single - -EXPOSE 8080 - -CMD build/bin/benchmark run --envprofile bm_mysql diff --git a/frameworks/Go/aah/aah-postgresql.dockerfile b/frameworks/Go/aah/aah-postgresql.dockerfile deleted file mode 100644 index 37e3f352549..00000000000 --- a/frameworks/Go/aah/aah-postgresql.dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM golang:1.14 - -RUN apt-get update -yqq - -ADD ./ /aah -WORKDIR /aah - -ENV GOPATH /aah -ENV PATH ${GOPATH}/bin:${PATH} -ENV GO111MODULE on - -RUN curl -sL https://aahframework.org/install-cli | bash -s v0.13.3 - -WORKDIR /aah/src/benchmark - -RUN aah --version -RUN mkdir -p views/common -RUN aah build --single - -EXPOSE 8080 - -CMD build/bin/benchmark run --envprofile bm_postgresql diff --git a/frameworks/Go/aah/aah.dockerfile b/frameworks/Go/aah/aah.dockerfile deleted file mode 100644 index 7d813662574..00000000000 --- a/frameworks/Go/aah/aah.dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -FROM golang:1.14 - -RUN apt-get update -yqq - -ADD ./ /aah -WORKDIR /aah - -ENV GOPATH /aah -ENV PATH ${GOPATH}/bin:${PATH} -ENV GO111MODULE on - -RUN curl -sL https://aahframework.org/install-cli | bash -s v0.13.3 - -WORKDIR /aah/src/benchmark - -RUN aah --version -RUN mkdir -p views/common -RUN aah build --single - -EXPOSE 8080 - -CMD build/bin/benchmark run --envprofile bm_default diff --git a/frameworks/Go/aah/benchmark_config.json b/frameworks/Go/aah/benchmark_config.json deleted file mode 100644 index 1f3fef2ed34..00000000000 --- a/frameworks/Go/aah/benchmark_config.json +++ /dev/null @@ -1,73 +0,0 @@ -{ - "framework": "aah", - "tests": [{ - "default": { - "json_url": "/json", - "plaintext_url": "/plaintext", - "port": 8080, - "approach": "Realistic", - "classification": "Fullstack", - "database": "MySQL", - "framework": "aah", - "language": "Go", - "flavor": "None", - "orm": "Raw", - "platform": "None", - "webserver": "None", - "os": "Linux", - "database_os": "Linux", - "display_name": "aah", - "notes": "", - "versus": "go", - "tags": ["broken"] - }, - "mysql": { - "dockerfile": "aah.dockerfile", - "docker_cmd": "build/bin/benchmark run --envprofile bm_mysql", - "db_url": "/db", - "query_url": "/db/queries?count=", - "fortune_url": "/db/fortunes", - "update_url": "/db/updates?count=", - "port": 8080, - "approach": "Realistic", - "classification": "Fullstack", - "database": "MySQL", - "framework": "aah", - "language": "Go", - "flavor": "None", - "orm": "Raw", - "platform": "None", - "webserver": "None", - "os": "Linux", - "database_os": "Linux", - "display_name": "aah-mysql", - "notes": "", - "versus": "go", - "tags": ["broken"] - }, - "postgresql": { - "dockerfile": "aah.dockerfile", - "docker_cmd": "build/bin/benchmark run --envprofile bm_postgresql", - "db_url": "/pg-db", - "query_url": "/pg-db/queries?count=", - "fortune_url": "/pg-db/fortunes", - "update_url": "/pg-db/updates?count=", - "port": 8080, - "approach": "Realistic", - "classification": "Fullstack", - "database": "Postgres", - "framework": "aah", - "language": "Go", - "flavor": "None", - "orm": "Raw", - "platform": "None", - "webserver": "None", - "os": "Linux", - "database_os": "Linux", - "display_name": "aah-postgresql", - "notes": "", - "versus": "go", - "tags": ["broken"] - } - }] -} diff --git a/frameworks/Go/aah/config.toml b/frameworks/Go/aah/config.toml deleted file mode 100644 index 72075e170a8..00000000000 --- a/frameworks/Go/aah/config.toml +++ /dev/null @@ -1,47 +0,0 @@ -[framework] -name = "aah" - -[main] -urls.plaintext = "/plaintext" -urls.json = "/json" -approach = "Realistic" -classification = "Fullstack" -database = "MySQL" -database_os = "Linux" -os = "Linux" -orm = "Raw" -platform = "None" -webserver = "None" -versus = "go" - -[postgresql] -urls.db = "/pg-db" -urls.query = "/pg-db/queries?count=" -urls.update = "/pg-db/updates?count=" -urls.fortune = "/pg-db/fortunes" -approach = "Realistic" -classification = "Fullstack" -database = "Postgres" -database_os = "Linux" -os = "Linux" -orm = "Raw" -platform = "None" -webserver = "None" -versus = "go" -dockerfile = "aah.dockerfile" - -[mysql] -urls.db = "/db" -urls.query = "/db/queries?count=" -urls.update = "/db/updates?count=" -urls.fortune = "/db/fortunes" -approach = "Realistic" -classification = "Fullstack" -database = "MySQL" -database_os = "Linux" -os = "Linux" -orm = "Raw" -platform = "None" -webserver = "None" -versus = "go" -dockerfile = "aah.dockerfile" diff --git a/frameworks/Go/aah/src/benchmark/aah.project b/frameworks/Go/aah/src/benchmark/aah.project deleted file mode 100644 index b204a8b7be2..00000000000 --- a/frameworks/Go/aah/src/benchmark/aah.project +++ /dev/null @@ -1,43 +0,0 @@ -######################################## -# benchmark - aah framework project -# -# Note: Add it to version control -######################################## - -# Build section is used during aah application compile and build command. -build { - # Application binary name - # Default value is `name` attribute value from `aah.conf` - #binary_name = "benchmark" - - # Used as fallback if - # - `git commit sha` or - # - `AAH_APP_VERSION` environment value is not available. - version = "0.0.1" - - # If application is missing any dependencies in `build import path` - # during a compile and build, aah CLI will try to get dependencies - # using 'go get '. - # Default value is `false`. - #dep_get = true - - # Log level is used for aah CLI tool logging. - # Default value is `info`. - #log_level = "info" - - flags = ["-i"] - - ldflags = "" - - tags = "" - - # AST excludes is used for `aah.Context` inspection and generating aah - # application main Go file. Valid exclude patterns - # refer: https://golang.org/pkg/path/filepath/#Match - ast_excludes = ["*_test.go", ".*", "*.bak", "*.tmp", "vendor"] - - # Packing excludes is used to exclude file/directory during aah application - # build archive. Valid exclude patterns - # refer: https://golang.org/pkg/path/filepath/#Match - excludes = ["*.go", "*_test.go", ".*", "*.bak", "*.tmp", "vendor", "app", "build", "tests", "logs"] -} diff --git a/frameworks/Go/aah/src/benchmark/app/controllers/app.go b/frameworks/Go/aah/src/benchmark/app/controllers/app.go deleted file mode 100644 index 307961eff1b..00000000000 --- a/frameworks/Go/aah/src/benchmark/app/controllers/app.go +++ /dev/null @@ -1,122 +0,0 @@ -package controllers - -import ( - "strconv" - - "benchmark/app/models" - - "aahframe.work" -) - -const helloWorldString = "Hello, World!" - -// AppController struct application controller -type AppController struct { - *aah.Context -} - -// Plaintext method is for `/plaintext` test. -func (c *AppController) Plaintext() { - c.Reply().Text(helloWorldString) -} - -// JSON method is for `/json` test. -func (c *AppController) JSON() { - c.Reply().JSON(models.Message{Message: helloWorldString}) -} - -//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -// MySQL DB based implementation -//___________________________________________________________________________ - -// World returns one world record randomly for `/db` test. -func (c *AppController) World() { - world := new(models.World) - if err := models.MySQLFetchRandomWorld(world); err != nil { - c.Reply().InternalServerError().Text(err.Error()) - return - } - c.Reply().JSON(world) -} - -// Worlds returns one world record randomly for `/db/queries` test. -func (c *AppController) Worlds() { - c.handleResult(models.MySQLRandomWorlds(c.getCount())) -} - -// UpdateWorlds updates record and returns those records for `/db/updates` test. -func (c *AppController) UpdateWorlds() { - c.handleResult(models.MySQLUpdateRandomWorlds(c.getCount())) -} - -// Fortunes method is for `/db/fortunes` test. -func (c *AppController) Fortunes() { - fortunes, err := models.MySQLFortunes() - if err != nil { - c.Reply().InternalServerError().Text(err.Error()) - return - } - - c.Reply().HTML(aah.Data{ - "Fortunes": fortunes, - }) -} - -//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -// PostgreSQL DB based implementation -//___________________________________________________________________________ - -// PGWorld returns one world record randomly for `/pg-db` test. -func (c *AppController) PGWorld() { - world := new(models.World) - if err := models.PGFetchRandomWorld(world); err != nil { - c.Reply().InternalServerError().Text(err.Error()) - return - } - c.Reply().JSON(world) -} - -// PGWorlds returns one world record randomly for `/pg-db/queries` test. -func (c *AppController) PGWorlds() { - c.handleResult(models.PGRandomWorlds(c.getCount())) -} - -// PGUpdateWorlds updates record and returns those records for `/pg-db/updates` test. -func (c *AppController) PGUpdateWorlds() { - c.handleResult(models.PGUpdateRandomWorlds(c.getCount())) -} - -// PGFortunes method is for `/pg-db/fortunes` test. -func (c *AppController) PGFortunes() { - fortunes, err := models.PGFortunes() - if err != nil { - c.Reply().InternalServerError().Text(err.Error()) - return - } - - c.Reply().HTMLf("fortunes.html", aah.Data{ - "Fortunes": fortunes, - }) -} - -//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -// Unexported methods -//___________________________________________________________________________ - -func (c *AppController) getCount() int { - cnt, err := strconv.Atoi(c.Req.QueryValue("count")) - if err != nil || cnt < 1 { - cnt = 1 - } else if cnt > 500 { - cnt = 500 - } - return cnt -} - -func (c *AppController) handleResult(worlds []models.World, err error) { - if err != nil { - c.Reply().InternalServerError().Text(err.Error()) - return - } - c.Reply().JSON(worlds) -} diff --git a/frameworks/Go/aah/src/benchmark/app/db/mysql.go b/frameworks/Go/aah/src/benchmark/app/db/mysql.go deleted file mode 100644 index 65c7aaf2501..00000000000 --- a/frameworks/Go/aah/src/benchmark/app/db/mysql.go +++ /dev/null @@ -1,63 +0,0 @@ -package db - -import ( - "database/sql" - "runtime" - - "aahframe.work" - - // mysql driver - _ "github.com/go-sql-driver/mysql" -) - -// MySQL database connection and prepared statements -var ( - MySQL *sql.DB - MSworldSelectStmt *sql.Stmt - MSworldUpdateStmt *sql.Stmt - MSfortuneSelectStmt *sql.Stmt - - mysqlMaxConnCount = runtime.NumCPU() * 2 -) - -// InitMySQLDatabase initializes the Database. -func InitMySQLDatabase(_ *aah.Event) { - app := aah.App() - if !app.IsEnvProfile("bm_mysql") { - return - } - - cfg := app.Config() - var err error - MySQL, err = sql.Open( - cfg.StringDefault("datasource.benchmark.mysql.driver", "mysql"), - cfg.StringDefault("datasource.benchmark.mysql.url", ""), - ) - if err != nil { - app.Log().Fatal(err) - } - - if err = MySQL.Ping(); err != nil { - app.Log().Fatal(err) - } - - MySQL.SetMaxIdleConns(mysqlMaxConnCount) - MySQL.SetMaxOpenConns(mysqlMaxConnCount) - - if MSworldSelectStmt, err = MySQL.Prepare("SELECT id, randomNumber FROM World WHERE id = ?"); err != nil { - app.Log().Fatal(err) - } - if MSworldUpdateStmt, err = MySQL.Prepare("UPDATE World SET randomNumber = ? WHERE id = ?"); err != nil { - app.Log().Fatal(err) - } - if MSfortuneSelectStmt, err = MySQL.Prepare("SELECT id, message FROM Fortune"); err != nil { - app.Log().Fatal(err) - } -} - -// CloseMySQLDatabase initializes the Database. -func CloseMySQLDatabase(_ *aah.Event) { - if MySQL != nil { - _ = MySQL.Close() - } -} diff --git a/frameworks/Go/aah/src/benchmark/app/db/postgresql.go b/frameworks/Go/aah/src/benchmark/app/db/postgresql.go deleted file mode 100644 index b05561c97c9..00000000000 --- a/frameworks/Go/aah/src/benchmark/app/db/postgresql.go +++ /dev/null @@ -1,66 +0,0 @@ -package db - -import ( - "runtime" - - "aahframe.work" - - "github.com/jackc/pgx" -) - -// PostgreSQL database connection and statements -var ( - PostgreSQL *pgx.ConnPool - PGWorldSelectStmt *pgx.PreparedStatement - PGWorldUpdateStmt *pgx.PreparedStatement - PGFortuneSelectStmt *pgx.PreparedStatement - - postgresqlMaxConnCount = runtime.NumCPU() * 4 -) - -// InitPostgreSQLDatabase initializes the Database. -func InitPostgreSQLDatabase(_ *aah.Event) { - app := aah.App() - if !app.IsEnvProfile("bm_postgresql") { - return - } - - cfg := app.Config() - config := pgx.ConnPoolConfig{ - ConnConfig: pgx.ConnConfig{ - Host: cfg.StringDefault("datasource.benchmark.postgresql.host", ""), - Port: uint16(cfg.IntDefault("datasource.benchmark.postgresql.port", 5432)), - User: cfg.StringDefault("datasource.benchmark.postgresql.user", ""), - Password: cfg.StringDefault("datasource.benchmark.postgresql.password", ""), - Database: cfg.StringDefault("datasource.benchmark.postgresql.dbname", ""), - }, - MaxConnections: postgresqlMaxConnCount, - } - - config.AfterConnect = func(conn *pgx.Conn) error { - var err error - if PGWorldSelectStmt, err = conn.Prepare("worldSelectStmt", "SELECT id, randomNumber FROM World WHERE id = $1"); err != nil { - app.Log().Fatal(err) - } - if PGWorldUpdateStmt, err = conn.Prepare("worldUpdateStmt", "UPDATE World SET randomNumber = $1 WHERE id = $2"); err != nil { - app.Log().Fatal(err) - } - if PGFortuneSelectStmt, err = conn.Prepare("fortuneSelectStmt", "SELECT id, message FROM Fortune"); err != nil { - app.Log().Fatal(err) - } - return nil - } - - var err error - PostgreSQL, err = pgx.NewConnPool(config) - if err != nil { - app.Log().Fatal(err) - } -} - -// ClosePostgreSQLDatabase initializes the Database. -func ClosePostgreSQLDatabase(_ *aah.Event) { - if PostgreSQL != nil { - PostgreSQL.Close() - } -} diff --git a/frameworks/Go/aah/src/benchmark/app/init.go b/frameworks/Go/aah/src/benchmark/app/init.go deleted file mode 100644 index a4e59ed3ac7..00000000000 --- a/frameworks/Go/aah/src/benchmark/app/init.go +++ /dev/null @@ -1,28 +0,0 @@ -// aah application initialization - configuration, server extensions, middleware's, etc. -// Customize it per application use case. - -package main - -import ( - "benchmark/app/db" - - "aahframe.work" -) - -func init() { - app := aah.App() - - app.OnStart(db.InitMySQLDatabase) - app.OnStart(db.InitPostgreSQLDatabase) - app.OnStart(func(_ *aah.Event) { - app.SecurityManager().AntiCSRF.Enabled = false - }) - - app.OnPostShutdown(db.CloseMySQLDatabase) - app.OnPostShutdown(db.ClosePostgreSQLDatabase) - - app.HTTPEngine().Middlewares( - aah.RouteMiddleware, - aah.ActionMiddleware, - ) -} diff --git a/frameworks/Go/aah/src/benchmark/app/models/models.go b/frameworks/Go/aah/src/benchmark/app/models/models.go deleted file mode 100644 index 1c79d855228..00000000000 --- a/frameworks/Go/aah/src/benchmark/app/models/models.go +++ /dev/null @@ -1,188 +0,0 @@ -package models - -import ( - "fmt" - "math/rand" - "sort" - - "benchmark/app/db" -) - -var worldRowCount = 10000 - -type ( - // Message is used for JSON reply. - Message struct { - Message string `json:"message"` - } - - // World is used for database operation. - World struct { - ID uint16 `json:"id"` - RandomNumber uint16 `json:"randomNumber"` - } - - // Fortune is used for database and reply. - Fortune struct { - ID uint16 `json:"id"` - Message string `json:"message"` - } - - // Fortunes slice - Fortunes []*Fortune -) - -//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -// MySQL DB based implementation -//___________________________________________________________________________ - -// MySQLFetchRandomWorld method returns one world record info. -func MySQLFetchRandomWorld(w *World) error { - err := db.MSworldSelectStmt.QueryRow(randomWorldNum()).Scan(&w.ID, &w.RandomNumber) - return err -} - -// MySQLRandomWorlds method returns world record from db randomly. -func MySQLRandomWorlds(count int) ([]World, error) { - worlds := make([]World, count) - var err error - for i := 0; i < count; i++ { - w := &worlds[i] - if err = MySQLFetchRandomWorld(w); err != nil { - return nil, err - } - } - return worlds, nil -} - -// MySQLUpdateRandomWorlds method updates random world records. -func MySQLUpdateRandomWorlds(count int) ([]World, error) { - worlds := make([]World, count) - var err error - for i := 0; i < count; i++ { - w := &worlds[i] - if err = MySQLFetchRandomWorld(w); err != nil { - return nil, err - } - - w.RandomNumber = uint16(randomWorldNum()) - if _, err = db.MSworldUpdateStmt.Exec(w.RandomNumber, w.ID); err != nil { - return nil, err - } - } - return worlds, nil -} - -// MySQLFortunes method returns fortunes records -func MySQLFortunes() (Fortunes, error) { - rows, err := db.MSfortuneSelectStmt.Query() - if err != nil { - return nil, err - } - - fortunes := make(Fortunes, 0) - for rows.Next() { - var fortune Fortune - if err = rows.Scan(&fortune.ID, &fortune.Message); err != nil { - return nil, err - } - fortunes = append(fortunes, &fortune) - } - _ = rows.Close() - - fortunes = append(fortunes, &Fortune{Message: "Additional fortune added at request time."}) - sortFortunesByMessage(fortunes) - return fortunes, nil -} - -//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -// PostgreSQL DB based implementation -//___________________________________________________________________________ - -// PGFetchRandomWorld method returns one world record info. -func PGFetchRandomWorld(w *World) error { - return db.PostgreSQL.QueryRow("worldSelectStmt", randomWorldNum()).Scan(&w.ID, &w.RandomNumber) -} - -// PGRandomWorlds method returns world record from db randomly. -func PGRandomWorlds(count int) ([]World, error) { - worlds := make([]World, count) - var err error - for i := 0; i < count; i++ { - w := &worlds[i] - if err = PGFetchRandomWorld(w); err != nil { - return nil, err - } - } - return worlds, nil -} - -// PGUpdateRandomWorlds method updates random world records. -func PGUpdateRandomWorlds(count int) ([]World, error) { - worlds := make([]World, count) - var err error - for i := 0; i < count; i++ { - w := &worlds[i] - if err = PGFetchRandomWorld(w); err != nil { - return nil, err - } - w.RandomNumber = uint16(randomWorldNum()) - } - - // sorting is required for insert deadlock prevention. - sortWorldsByID(worlds) - - txn, err := db.PostgreSQL.Begin() - if err != nil { - return nil, fmt.Errorf("Error starting transaction: %s", err) - } - for i := 0; i < count; i++ { - w := &worlds[i] - if _, err = txn.Exec("worldUpdateStmt", w.RandomNumber, w.ID); err != nil { - return nil, fmt.Errorf("Error updating world row %d: %s", i, err) - } - } - if err = txn.Commit(); err != nil { - return nil, fmt.Errorf("Error when commiting world rows: %s", err) - } - - return worlds, nil -} - -// PGFortunes method returns fortunes records -func PGFortunes() (Fortunes, error) { - rows, err := db.PostgreSQL.Query("fortuneSelectStmt") - if err != nil { - return nil, err - } - - fortunes := make(Fortunes, 0) - for rows.Next() { - var fortune Fortune - if err = rows.Scan(&fortune.ID, &fortune.Message); err != nil { - return nil, err - } - fortunes = append(fortunes, &fortune) - } - rows.Close() - - fortunes = append(fortunes, &Fortune{Message: "Additional fortune added at request time."}) - sortFortunesByMessage(fortunes) - return fortunes, nil -} - -//‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾ -// Unexported methods -//___________________________________________________________________________ - -func randomWorldNum() int { - return rand.Intn(worldRowCount) + 1 -} - -func sortFortunesByMessage(fortunes Fortunes) { - sort.Slice(fortunes, func(i, j int) bool { return fortunes[i].Message < fortunes[j].Message }) -} - -func sortWorldsByID(worlds []World) { - sort.Slice(worlds, func(i, j int) bool { return worlds[i].ID < worlds[j].ID }) -} diff --git a/frameworks/Go/aah/src/benchmark/config/aah.conf b/frameworks/Go/aah/src/benchmark/config/aah.conf deleted file mode 100644 index df619ec86da..00000000000 --- a/frameworks/Go/aah/src/benchmark/config/aah.conf +++ /dev/null @@ -1,50 +0,0 @@ -# ----------------------------------------------------------------------------- -# benchmark - aah Application Configuration -# -# Refer documentation to explore and customize the configurations. -# Doc: https://docs.aahframework.org/app-config.html -# ----------------------------------------------------------------------------- - -name = "benchmark" -desc = "aah framework web application" -type = "web" - -server { - header = "aah" -} - -request { - id { - enable = false - } -} - -render { - default = "html" - gzip { - enable = false - } -} - -cache { - static { - default_cache_control = "public, max-age=31536000" - } -} - -view { - engine = "go" - ext = ".html" - delimiters = "{{.}}" -} - -include "./security.conf" - -env { - active = "bm_default" - - # ------------------------------------------------- - # Including Environment profile configurations - # ------------------------------------------------- - include "./env/*.conf" -} diff --git a/frameworks/Go/aah/src/benchmark/config/env/bm-default.conf b/frameworks/Go/aah/src/benchmark/config/env/bm-default.conf deleted file mode 100644 index 3ba63c7af53..00000000000 --- a/frameworks/Go/aah/src/benchmark/config/env/bm-default.conf +++ /dev/null @@ -1,12 +0,0 @@ -# --------------------------------- -# Default Benchmark profile -# --------------------------------- - -bm_default { - - log { - receiver = "console" - level = "error" - } - -} \ No newline at end of file diff --git a/frameworks/Go/aah/src/benchmark/config/env/bm-mysql.conf b/frameworks/Go/aah/src/benchmark/config/env/bm-mysql.conf deleted file mode 100644 index e76817b6487..00000000000 --- a/frameworks/Go/aah/src/benchmark/config/env/bm-mysql.conf +++ /dev/null @@ -1,21 +0,0 @@ -# --------------------------------- -# MySQL Benchmark profile -# --------------------------------- - -bm_mysql { - - log { - receiver = "console" - level = "error" - } - - datasource { - benchmark { - mysql { - driver = "mysql" - url = "benchmarkdbuser:benchmarkdbpass@tcp(tfb-database:3306)/hello_world" - } - } - } - -} \ No newline at end of file diff --git a/frameworks/Go/aah/src/benchmark/config/env/bm-postgresql.conf b/frameworks/Go/aah/src/benchmark/config/env/bm-postgresql.conf deleted file mode 100644 index d5706d3d181..00000000000 --- a/frameworks/Go/aah/src/benchmark/config/env/bm-postgresql.conf +++ /dev/null @@ -1,24 +0,0 @@ -# --------------------------------- -# PostgreSQL Benchmark profile -# --------------------------------- - -bm_postgresql { - - log { - receiver = "console" - level = "error" - } - - datasource { - benchmark { - postgresql { - host = "tfb-database" - port = 5432 - dbname = "hello_world" - user = "benchmarkdbuser" - password = "benchmarkdbpass" - } - } - } - -} \ No newline at end of file diff --git a/frameworks/Go/aah/src/benchmark/config/routes.conf b/frameworks/Go/aah/src/benchmark/config/routes.conf deleted file mode 100644 index e4624897820..00000000000 --- a/frameworks/Go/aah/src/benchmark/config/routes.conf +++ /dev/null @@ -1,76 +0,0 @@ -# ----------------------------------------------------------------------------- -# benchmark - Application Routes Configuration -# -# Refer documentation to explore and configure routes. -# Doc: https://docs.aahframework.org/routing.html -# ----------------------------------------------------------------------------- - -domains { - - localhost { - name = "benchmark routes" - host = "localhost" - - routes { - - json { - path = "/json" - controller = "AppController" - action = "JSON" - } - - plaintext { - path = "/plaintext" - controller = "AppController" - action = "Plaintext" - } - - # For MySQL datasource - db { - path = "/db" - controller = "AppController" - action = "World" - - routes { - dbs { - path = "/queries" - action = "Worlds" - } - fortunes { - path = "/fortunes" - action = "Fortunes" - } - updates { - path = "/updates" - action = "UpdateWorlds" - } - } - } - - # For PostgreSQL datasource - pg_db { - path = "/pg-db" - controller = "AppController" - action = "PGWorld" - - routes { - pg_dbs { - path = "/queries" - action = "PGWorlds" - } - pg_fortunes { - path = "/fortunes" - action = "PGFortunes" - } - pg_updates { - path = "/updates" - action = "PGUpdateWorlds" - } - } - } - - } # end - routes - - } # end - localhost - -} # end - domains diff --git a/frameworks/Go/aah/src/benchmark/config/security.conf b/frameworks/Go/aah/src/benchmark/config/security.conf deleted file mode 100644 index c81a5160d35..00000000000 --- a/frameworks/Go/aah/src/benchmark/config/security.conf +++ /dev/null @@ -1,12 +0,0 @@ -# ----------------------------------------------------------------------------- -# benchmark - Application Security Configuration -# -# Refer documentation to explore and customize the configurations. -# Doc: https://docs.aahframework.org/security-config.html -# ----------------------------------------------------------------------------- - -security { - http_header { - enable = false - } -} diff --git a/frameworks/Go/aah/src/benchmark/go.mod b/frameworks/Go/aah/src/benchmark/go.mod deleted file mode 100644 index 09e57fa883b..00000000000 --- a/frameworks/Go/aah/src/benchmark/go.mod +++ /dev/null @@ -1,33 +0,0 @@ -module benchmark - -require ( - aahframe.work v0.12.4 - github.com/go-sql-driver/mysql v1.4.1 - github.com/jackc/pgx v3.3.0+incompatible -) - -require ( - cloud.google.com/go v0.30.0 // indirect - github.com/cockroachdb/apd v1.1.0 // indirect - github.com/go-aah/forge v0.8.0 // indirect - github.com/go-playground/locales v0.12.1 // indirect - github.com/go-playground/universal-translator v0.16.0 // indirect - github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee // indirect - github.com/gobwas/pool v0.2.0 // indirect - github.com/gobwas/ws v1.0.0 // indirect - github.com/golang/protobuf v1.3.1 // indirect - github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 // indirect - github.com/lib/pq v1.10.7 // indirect - github.com/pkg/errors v0.8.1 // indirect - github.com/satori/go.uuid v1.2.0 // indirect - github.com/shopspring/decimal v1.3.1 // indirect - github.com/urfave/cli v1.20.0 // indirect - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/net v0.23.0 // indirect - golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - gopkg.in/go-playground/assert.v1 v1.2.1 // indirect - gopkg.in/go-playground/validator.v9 v9.21.0 // indirect -) diff --git a/frameworks/Go/aah/src/benchmark/go.sum b/frameworks/Go/aah/src/benchmark/go.sum deleted file mode 100644 index b946b8eccff..00000000000 --- a/frameworks/Go/aah/src/benchmark/go.sum +++ /dev/null @@ -1,66 +0,0 @@ -aahframe.work v0.12.4 h1:Hcp1EP7T8Y+qh1ukFjTqXjImqKxyk03nuvACm81OTfU= -aahframe.work v0.12.4/go.mod h1:Ogn3OQKcq9W59XSAZzPqk4g2PpFH9h2Px1PFPnoGmvs= -cloud.google.com/go v0.30.0 h1:xKvyLgk56d0nksWq49J0UyGEeUIicTl4+UBiX1NPX9g= -cloud.google.com/go v0.30.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-aah/forge v0.8.0 h1:sk4Z523B9ay3JQF4At97U7kecB5yTIm0J2UM/qRVXbQ= -github.com/go-aah/forge v0.8.0/go.mod h1:+pz2ywtYKCMzKtHa2kyKIOBw2XhQpj+dgch/vMGWyqo= -github.com/go-playground/locales v0.12.1 h1:2FITxuFt/xuCNP1Acdhv62OzaCiviiE4kotfhkmOqEc= -github.com/go-playground/locales v0.12.1/go.mod h1:IUMDtCfWo/w/mtMfIE/IG2K+Ey3ygWanZIBtBW0W2TM= -github.com/go-playground/universal-translator v0.16.0 h1:X++omBR/4cE2MNg91AoC3rmGrCjJ8eAeUP/K/EKx4DM= -github.com/go-playground/universal-translator v0.16.0/go.mod h1:1AnU7NaIRDWWzGEKwgtJRd2xk99HeFyHw3yid4rvQIY= -github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee h1:s+21KNqlpePfkah2I+gwHF8xmJWRjooY+5248k6m4A0= -github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= -github.com/gobwas/pool v0.2.0 h1:QEmUOlnSjWtnpRGHF3SauEiOsy82Cup83Vf2LcMlnc8= -github.com/gobwas/pool v0.2.0/go.mod h1:q8bcK0KcYlCgd9e7WYLm9LpyS+YeLd8JVDW6WezmKEw= -github.com/gobwas/ws v1.0.0 h1:1WdyfgUcImUfVBvYbsW2krIsnko+1QU2t45soaF8v1M= -github.com/gobwas/ws v1.0.0/go.mod h1:szmBTxLgaFppYjEmNtny/v3w89xOydFnnZMcgRRu/EM= -github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/jackc/fake v0.0.0-20150926172116-812a484cc733 h1:vr3AYkKovP8uR8AvSGGUK1IDqRa5lAAvEkZG1LKaCRc= -github.com/jackc/fake v0.0.0-20150926172116-812a484cc733/go.mod h1:WrMFNQdiFJ80sQsxDoMokWK1W5TQtxBFNpzWTD84ibQ= -github.com/jackc/pgx v3.3.0+incompatible h1:Wa90/+qsITBAPkAZjiByeIGHFcj3Ztu+VzrrIpHjL90= -github.com/jackc/pgx v3.3.0+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I= -github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= -github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/shopspring/decimal v1.3.1 h1:2Usl1nmF/WZucqkFZhnfFYxxxu8LG21F6nPQBE5gKV8= -github.com/shopspring/decimal v1.3.1/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/urfave/cli v1.20.0 h1:fDqGv3UG/4jbVl/QkFwEdddtEDjh/5Ov6X+0B/3bPaw= -github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -golang.org/x/crypto v0.0.0-20181012144002-a92615f3c490/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= -golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced h1:4oqSq7eft7MdPKBGQK11X9WYUxmj6ZLgGTqYIbY1kyw= -golang.org/x/oauth2 v0.0.0-20181003184128-c57b0facaced/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM= -gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE= -gopkg.in/go-playground/validator.v9 v9.21.0 h1:wSDJGBpQBYC1wLpVnGHLmshm2JicoSNdrb38Zj+8yHI= -gopkg.in/go-playground/validator.v9 v9.21.0/go.mod h1:+c9/zcJMFNgbLvly1L1V+PpxWdVbfP1avr/N00E2vyQ= diff --git a/frameworks/Go/aah/src/benchmark/views/layouts/master.html b/frameworks/Go/aah/src/benchmark/views/layouts/master.html deleted file mode 100644 index f06a329b50e..00000000000 --- a/frameworks/Go/aah/src/benchmark/views/layouts/master.html +++ /dev/null @@ -1,7 +0,0 @@ - - -{{ template "title" . }} - -{{ template "body" . }} - - diff --git a/frameworks/Go/aah/src/benchmark/views/pages/app/fortunes.html b/frameworks/Go/aah/src/benchmark/views/pages/app/fortunes.html deleted file mode 100644 index afe58dcc0af..00000000000 --- a/frameworks/Go/aah/src/benchmark/views/pages/app/fortunes.html +++ /dev/null @@ -1,10 +0,0 @@ -{{ define "title" -}}Fortunes{{- end }} - -{{ define "body" -}} - - -{{- range .Fortunes }} - -{{- end }} -
idmessage
{{ .ID }}{{ .Message }}
-{{- end }}