lab_tech 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +323 -0
  4. data/Rakefile +30 -0
  5. data/app/models/lab_tech/application_record.rb +5 -0
  6. data/app/models/lab_tech/default_cleaner.rb +87 -0
  7. data/app/models/lab_tech/experiment.rb +190 -0
  8. data/app/models/lab_tech/observation.rb +40 -0
  9. data/app/models/lab_tech/percentile.rb +41 -0
  10. data/app/models/lab_tech/result.rb +130 -0
  11. data/app/models/lab_tech/speedup.rb +65 -0
  12. data/app/models/lab_tech/summary.rb +183 -0
  13. data/config/routes.rb +2 -0
  14. data/db/migrate/20190815192130_create_experiment_tables.rb +50 -0
  15. data/lib/lab_tech.rb +176 -0
  16. data/lib/lab_tech/engine.rb +6 -0
  17. data/lib/lab_tech/version.rb +3 -0
  18. data/lib/tasks/lab_tech_tasks.rake +4 -0
  19. data/spec/dummy/Rakefile +6 -0
  20. data/spec/dummy/app/assets/config/manifest.js +1 -0
  21. data/spec/dummy/app/assets/javascripts/application.js +14 -0
  22. data/spec/dummy/app/assets/stylesheets/application.css +15 -0
  23. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  24. data/spec/dummy/app/jobs/application_job.rb +2 -0
  25. data/spec/dummy/app/models/application_record.rb +3 -0
  26. data/spec/dummy/bin/bundle +3 -0
  27. data/spec/dummy/bin/rails +4 -0
  28. data/spec/dummy/bin/rake +4 -0
  29. data/spec/dummy/bin/setup +33 -0
  30. data/spec/dummy/bin/update +28 -0
  31. data/spec/dummy/config.ru +5 -0
  32. data/spec/dummy/config/application.rb +35 -0
  33. data/spec/dummy/config/boot.rb +5 -0
  34. data/spec/dummy/config/database.yml +25 -0
  35. data/spec/dummy/config/environment.rb +5 -0
  36. data/spec/dummy/config/environments/development.rb +46 -0
  37. data/spec/dummy/config/environments/production.rb +71 -0
  38. data/spec/dummy/config/environments/test.rb +36 -0
  39. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  40. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  41. data/spec/dummy/config/initializers/cors.rb +16 -0
  42. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  43. data/spec/dummy/config/initializers/inflections.rb +16 -0
  44. data/spec/dummy/config/initializers/mime_types.rb +4 -0
  45. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  46. data/spec/dummy/config/locales/en.yml +33 -0
  47. data/spec/dummy/config/puma.rb +34 -0
  48. data/spec/dummy/config/routes.rb +3 -0
  49. data/spec/dummy/config/spring.rb +6 -0
  50. data/spec/dummy/db/schema.rb +52 -0
  51. data/spec/dummy/db/test.sqlite3 +0 -0
  52. data/spec/dummy/log/development.log +0 -0
  53. data/spec/dummy/log/test.log +1519 -0
  54. data/spec/examples.txt +79 -0
  55. data/spec/models/lab_tech/default_cleaner_spec.rb +32 -0
  56. data/spec/models/lab_tech/experiment_spec.rb +110 -0
  57. data/spec/models/lab_tech/percentile_spec.rb +85 -0
  58. data/spec/models/lab_tech/result_spec.rb +198 -0
  59. data/spec/models/lab_tech/speedup_spec.rb +133 -0
  60. data/spec/models/lab_tech/summary_spec.rb +325 -0
  61. data/spec/models/lab_tech_spec.rb +23 -0
  62. data/spec/rails_helper.rb +62 -0
  63. data/spec/spec_helper.rb +98 -0
  64. data/spec/support/misc_helpers.rb +7 -0
  65. metadata +238 -0
@@ -0,0 +1,34 @@
1
+ # Puma can serve each request in a thread from an internal thread pool.
2
+ # The `threads` method setting takes two numbers: a minimum and maximum.
3
+ # Any libraries that use thread pools should be configured to match
4
+ # the maximum value specified for Puma. Default is set to 5 threads for minimum
5
+ # and maximum; this matches the default thread size of Active Record.
6
+ #
7
+ threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
8
+ threads threads_count, threads_count
9
+
10
+ # Specifies the `port` that Puma will listen on to receive requests; default is 3000.
11
+ #
12
+ port ENV.fetch("PORT") { 3000 }
13
+
14
+ # Specifies the `environment` that Puma will run in.
15
+ #
16
+ environment ENV.fetch("RAILS_ENV") { "development" }
17
+
18
+ # Specifies the number of `workers` to boot in clustered mode.
19
+ # Workers are forked webserver processes. If using threads and workers together
20
+ # the concurrency of the application would be max `threads` * `workers`.
21
+ # Workers do not work on JRuby or Windows (both of which do not support
22
+ # processes).
23
+ #
24
+ # workers ENV.fetch("WEB_CONCURRENCY") { 2 }
25
+
26
+ # Use the `preload_app!` method when specifying a `workers` number.
27
+ # This directive tells Puma to first boot the application and load code
28
+ # before forking the application. This takes advantage of Copy On Write
29
+ # process behavior so workers use less memory.
30
+ #
31
+ # preload_app!
32
+
33
+ # Allow puma to be restarted by `rails restart` command.
34
+ plugin :tmp_restart
@@ -0,0 +1,3 @@
1
+ Rails.application.routes.draw do
2
+ mount LabTech::Engine => "/lab_tech"
3
+ end
@@ -0,0 +1,6 @@
1
+ %w[
2
+ .ruby-version
3
+ .rbenv-vars
4
+ tmp/restart.txt
5
+ tmp/caching-dev.txt
6
+ ].each { |path| Spring.watch(path) }
@@ -0,0 +1,52 @@
1
+ # This file is auto-generated from the current state of the database. Instead
2
+ # of editing this file, please use the migrations feature of Active Record to
3
+ # incrementally modify your database, and then regenerate this schema definition.
4
+ #
5
+ # Note that this schema.rb definition is the authoritative source for your
6
+ # database schema. If you need to create the application database on another
7
+ # system, you should be using db:schema:load, not running all the migrations
8
+ # from scratch. The latter is a flawed and unsustainable approach (the more migrations
9
+ # you'll amass, the slower it'll run and the greater likelihood for issues).
10
+ #
11
+ # It's strongly recommended that you check this file into your version control system.
12
+
13
+ ActiveRecord::Schema.define(version: 2019_08_15_192130) do
14
+
15
+ create_table "lab_tech_experiments", force: :cascade do |t|
16
+ t.string "name"
17
+ t.integer "percent_enabled", default: 0, null: false
18
+ t.integer "equivalent_count", default: 0, null: false
19
+ t.integer "timed_out_count", default: 0, null: false
20
+ t.integer "other_error_count", default: 0, null: false
21
+ t.index ["name"], name: "index_lab_tech_experiments_by_name", unique: true
22
+ end
23
+
24
+ create_table "lab_tech_observations", force: :cascade do |t|
25
+ t.integer "result_id", null: false
26
+ t.string "name", limit: 100
27
+ t.float "duration", limit: 24
28
+ t.text "value", limit: 4294967295
29
+ t.text "sql"
30
+ t.string "exception_class"
31
+ t.text "exception_message"
32
+ t.text "exception_backtrace"
33
+ t.datetime "created_at"
34
+ t.index ["result_id"], name: "index_lab_tech_observations_by_result_id"
35
+ end
36
+
37
+ create_table "lab_tech_results", force: :cascade do |t|
38
+ t.integer "experiment_id", null: false
39
+ t.text "context"
40
+ t.boolean "equivalent", default: false, null: false
41
+ t.boolean "raised_error", default: false, null: false
42
+ t.float "time_delta", limit: 24
43
+ t.float "speedup_factor", limit: 24
44
+ t.datetime "created_at"
45
+ t.boolean "timed_out", default: false, null: false
46
+ t.float "control_duration", limit: 24
47
+ t.float "candidate_duration", limit: 24
48
+ t.index ["experiment_id", "equivalent"], name: "index_lab_tech_results_by_exp_id_and_equivalent"
49
+ t.index ["experiment_id", "raised_error"], name: "index_lab_tech_results_by_exp_id_and_raised"
50
+ end
51
+
52
+ end
File without changes
@@ -0,0 +1,1519 @@
1
+  (0.0ms) DROP TABLE IF EXISTS "lab_tech_experiments"
2
+  (0.1ms) SELECT sqlite_version(*)
3
+  (1.6ms) CREATE TABLE "lab_tech_experiments" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar, "percent_enabled" integer DEFAULT 0 NOT NULL, "equivalent_count" integer DEFAULT 0 NOT NULL, "timed_out_count" integer DEFAULT 0 NOT NULL, "other_error_count" integer DEFAULT 0 NOT NULL)
4
+  (0.7ms) CREATE UNIQUE INDEX "index_lab_tech_experiments_by_name" ON "lab_tech_experiments" ("name")
5
+  (0.1ms) DROP TABLE IF EXISTS "lab_tech_observations"
6
+  (0.7ms) CREATE TABLE "lab_tech_observations" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "result_id" integer NOT NULL, "name" varchar(100), "duration" float(24), "value" text(4294967295), "sql" text, "exception_class" varchar, "exception_message" text, "exception_backtrace" text, "created_at" datetime)
7
+  (0.8ms) CREATE INDEX "index_lab_tech_observations_by_result_id" ON "lab_tech_observations" ("result_id")
8
+  (0.1ms) DROP TABLE IF EXISTS "lab_tech_results"
9
+  (0.7ms) CREATE TABLE "lab_tech_results" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "experiment_id" integer NOT NULL, "context" text, "equivalent" boolean DEFAULT 'f' NOT NULL, "raised_error" boolean DEFAULT 'f' NOT NULL, "time_delta" float(24), "speedup_factor" float(24), "created_at" datetime, "timed_out" boolean DEFAULT 'f' NOT NULL, "control_duration" float(24), "candidate_duration" float(24))
10
+  (0.7ms) CREATE INDEX "index_lab_tech_results_by_exp_id_and_equivalent" ON "lab_tech_results" ("experiment_id", "equivalent")
11
+  (0.1ms)  SELECT sql
12
+ FROM sqlite_master
13
+ WHERE name='index_lab_tech_results_by_exp_id_and_equivalent' AND type='index'
14
+ UNION ALL
15
+ SELECT sql
16
+ FROM sqlite_temp_master
17
+ WHERE name='index_lab_tech_results_by_exp_id_and_equivalent' AND type='index'
18
+ 
19
+  (0.9ms) CREATE INDEX "index_lab_tech_results_by_exp_id_and_raised" ON "lab_tech_results" ("experiment_id", "raised_error")
20
+  (1.0ms) CREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY)
21
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
22
+  (0.8ms) INSERT INTO "schema_migrations" (version) VALUES (20190815192130)
23
+  (0.9ms) CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL)
24
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]]
25
+  (0.0ms) begin transaction
26
+ SQL (0.3ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "environment"], ["value", "test"], ["created_at", "2019-08-22 20:52:05.257722"], ["updated_at", "2019-08-22 20:52:05.257722"]]
27
+  (0.7ms) commit transaction
28
+ ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]]
29
+  (0.0ms) begin transaction
30
+  (0.0ms) commit transaction
31
+  (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
32
+  (0.1ms) begin transaction
33
+  (0.0ms) rollback transaction
34
+  (0.0ms) begin transaction
35
+  (0.1ms) SAVEPOINT active_record_1
36
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "whatever"]]
37
+  (0.0ms) RELEASE SAVEPOINT active_record_1
38
+  (0.2ms) rollback transaction
39
+  (0.0ms) begin transaction
40
+  (0.0ms) rollback transaction
41
+  (0.0ms) begin transaction
42
+  (0.0ms) SAVEPOINT active_record_1
43
+ SQL (0.2ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "Experiment 0"]]
44
+  (0.0ms) RELEASE SAVEPOINT active_record_1
45
+  (0.0ms) SAVEPOINT active_record_1
46
+ SQL (0.1ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "Experiment 1"]]
47
+  (0.0ms) RELEASE SAVEPOINT active_record_1
48
+  (0.2ms) rollback transaction
49
+  (0.0ms) begin transaction
50
+  (0.0ms) SAVEPOINT active_record_1
51
+ SQL (0.2ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "wibble"]]
52
+  (0.0ms) RELEASE SAVEPOINT active_record_1
53
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
54
+  (0.2ms) rollback transaction
55
+  (0.0ms) begin transaction
56
+  (0.0ms) SAVEPOINT active_record_1
57
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "wibble"]]
58
+  (0.0ms) RELEASE SAVEPOINT active_record_1
59
+  (0.0ms) SAVEPOINT active_record_1
60
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "percent_enabled" = ? WHERE "lab_tech_experiments"."id" = ? [["percent_enabled", 100], ["id", 1]]
61
+  (0.0ms) RELEASE SAVEPOINT active_record_1
62
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
63
+  (0.1ms) SAVEPOINT active_record_1
64
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 0.0], ["speedup_factor", 0.0], ["created_at", "2019-08-22 20:52:05.413815"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.00000761449337e-06]]
65
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- true\n"], ["created_at", "2019-08-22 20:52:05.415182"]]
66
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- true\n"], ["created_at", "2019-08-22 20:52:05.416046"]]
67
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
68
+  (0.0ms) RELEASE SAVEPOINT active_record_1
69
+  (0.3ms) rollback transaction
70
+  (0.0ms) begin transaction
71
+  (0.0ms) SAVEPOINT active_record_1
72
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "wibble"]]
73
+  (0.0ms) RELEASE SAVEPOINT active_record_1
74
+  (0.0ms) SAVEPOINT active_record_1
75
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "percent_enabled" = ? WHERE "lab_tech_experiments"."id" = ? [["percent_enabled", 100], ["id", 1]]
76
+  (0.0ms) RELEASE SAVEPOINT active_record_1
77
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
78
+  (0.3ms) rollback transaction
79
+  (0.0ms) begin transaction
80
+  (0.0ms) SAVEPOINT active_record_1
81
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "wibble"]]
82
+  (0.0ms) RELEASE SAVEPOINT active_record_1
83
+  (0.0ms) SAVEPOINT active_record_1
84
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "percent_enabled" = ? WHERE "lab_tech_experiments"."id" = ? [["percent_enabled", 100], ["id", 1]]
85
+  (0.0ms) RELEASE SAVEPOINT active_record_1
86
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
87
+  (0.1ms) SAVEPOINT active_record_1
88
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", -1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:05.435732"], ["control_duration", 0.0], ["candidate_duration", 1.9999861251562834e-06]]
89
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 0.0], ["value", "--- CONTROL\n"], ["created_at", "2019-08-22 20:52:05.437054"]]
90
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- CANDIDATE\n"], ["created_at", "2019-08-22 20:52:05.437984"]]
91
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
92
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
93
+  (0.0ms) RELEASE SAVEPOINT active_record_1
94
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" ASC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
95
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
96
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
97
+  (0.3ms) rollback transaction
98
+  (0.0ms) begin transaction
99
+  (0.0ms) SAVEPOINT active_record_1
100
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "wibble"]]
101
+  (0.0ms) RELEASE SAVEPOINT active_record_1
102
+  (0.0ms) SAVEPOINT active_record_1
103
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "percent_enabled" = ? WHERE "lab_tech_experiments"."id" = ? [["percent_enabled", 100], ["id", 1]]
104
+  (0.0ms) RELEASE SAVEPOINT active_record_1
105
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
106
+  (0.0ms) SAVEPOINT active_record_1
107
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", 1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:05.448977"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 0.0]]
108
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- Yes indeedily!\n"], ["created_at", "2019-08-22 20:52:05.449902"]]
109
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 0.0], ["value", "--- You suck-diddly-uck, Flanders!\n"], ["created_at", "2019-08-22 20:52:05.450682"]]
110
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
111
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
112
+  (0.0ms) RELEASE SAVEPOINT active_record_1
113
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" ASC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
114
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
115
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
116
+  (0.4ms) rollback transaction
117
+  (0.0ms) begin transaction
118
+  (0.0ms) SAVEPOINT active_record_1
119
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name") VALUES (?) [["name", "wibble"]]
120
+  (0.0ms) RELEASE SAVEPOINT active_record_1
121
+  (0.0ms) SAVEPOINT active_record_1
122
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "percent_enabled" = ? WHERE "lab_tech_experiments"."id" = ? [["percent_enabled", 100], ["id", 1]]
123
+  (0.0ms) RELEASE SAVEPOINT active_record_1
124
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
125
+  (0.0ms) SAVEPOINT active_record_1
126
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["speedup_factor", 2.0], ["created_at", "2019-08-22 20:52:05.459353"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 1.00000761449337e-06]]
127
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.460298"]]
128
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.461122"]]
129
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
130
+  (0.0ms) RELEASE SAVEPOINT active_record_1
131
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
132
+  (0.2ms) rollback transaction
133
+  (0.0ms) begin transaction
134
+  (0.0ms) rollback transaction
135
+  (0.0ms) begin transaction
136
+  (0.0ms) rollback transaction
137
+  (0.0ms) begin transaction
138
+  (0.0ms) rollback transaction
139
+  (0.0ms) begin transaction
140
+  (0.0ms) rollback transaction
141
+  (0.0ms) begin transaction
142
+  (0.0ms) rollback transaction
143
+  (0.0ms) begin transaction
144
+  (0.0ms) rollback transaction
145
+  (0.0ms) begin transaction
146
+  (0.0ms) rollback transaction
147
+  (0.0ms) begin transaction
148
+  (0.0ms) rollback transaction
149
+  (0.0ms) begin transaction
150
+  (0.0ms) rollback transaction
151
+  (0.0ms) begin transaction
152
+  (0.0ms) rollback transaction
153
+  (0.0ms) begin transaction
154
+  (0.0ms) rollback transaction
155
+  (0.0ms) begin transaction
156
+  (0.0ms) rollback transaction
157
+  (0.0ms) begin transaction
158
+  (0.0ms) rollback transaction
159
+  (0.0ms) begin transaction
160
+  (0.0ms) rollback transaction
161
+  (0.0ms) begin transaction
162
+  (0.0ms) rollback transaction
163
+  (0.0ms) begin transaction
164
+  (0.0ms) rollback transaction
165
+  (0.0ms) begin transaction
166
+  (0.0ms) rollback transaction
167
+  (0.0ms) begin transaction
168
+  (0.0ms) rollback transaction
169
+  (0.0ms) begin transaction
170
+  (0.0ms) rollback transaction
171
+  (0.0ms) begin transaction
172
+  (0.0ms) rollback transaction
173
+  (0.0ms) begin transaction
174
+  (0.0ms) rollback transaction
175
+  (0.0ms) begin transaction
176
+  (0.0ms) rollback transaction
177
+  (0.0ms) begin transaction
178
+  (0.0ms) rollback transaction
179
+  (0.0ms) begin transaction
180
+  (0.0ms) rollback transaction
181
+  (0.0ms) begin transaction
182
+  (0.0ms) rollback transaction
183
+  (0.0ms) begin transaction
184
+  (0.0ms) rollback transaction
185
+  (0.0ms) begin transaction
186
+  (0.0ms) rollback transaction
187
+  (0.0ms) begin transaction
188
+  (0.0ms) rollback transaction
189
+  (0.0ms) begin transaction
190
+  (0.0ms) SAVEPOINT active_record_1
191
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
192
+  (0.0ms) RELEASE SAVEPOINT active_record_1
193
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_observations"
194
+  (0.0ms) SELECT COUNT(*) FROM "lab_tech_results"
195
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
196
+  (0.0ms) SAVEPOINT active_record_1
197
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", 1.00000761449337e-06], ["speedup_factor", 2.0], ["created_at", "2019-08-22 20:52:05.484299"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 1.00000761449337e-06]]
198
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.485433"]]
199
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- :wobble\n"], ["created_at", "2019-08-22 20:52:05.486486"]]
200
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
201
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
202
+  (0.0ms) RELEASE SAVEPOINT active_record_1
203
+  (0.0ms) SELECT COUNT(*) FROM "lab_tech_results"
204
+  (0.0ms) SELECT COUNT(*) FROM "lab_tech_observations"
205
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
206
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
207
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
208
+  (0.4ms) rollback transaction
209
+  (0.0ms) begin transaction
210
+  (0.0ms) SAVEPOINT active_record_1
211
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
212
+  (0.0ms) RELEASE SAVEPOINT active_record_1
213
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
214
+  (0.0ms) SAVEPOINT active_record_1
215
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "raised_error", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["raised_error", "t"], ["time_delta", -8.99998121894896e-06], ["speedup_factor", -5.499956344586729], ["created_at", "2019-08-22 20:52:05.494791"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 1.09999964479357e-05]]
216
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.495862"]]
217
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "exception_class", "exception_message", "exception_backtrace", "created_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.09999964479357e-05], ["exception_class", "Timeout::Error"], ["exception_message", "nope"], ["exception_backtrace", "[\"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:181:in `block (5 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/observation.rb:33:in `initialize'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `new'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `run'\", \"/Users/sam/work/lab_tech/app/models/lab_tech/experiment.rb:148:in `run'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:37:in `science'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:179:in `block (3 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:257:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:257:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:9:in `block (3 levels) in <top (required)>'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:68:in `publish_results_in_test_mode'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:8:in `block (2 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-rails-3.8.2/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:254:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:633:in `block in run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:595:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (3 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (2 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/configuration.rb:2008:in `with_suite_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:111:in `block in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/reporter.rb:74:in `report'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:110:in `run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:87:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:71:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:45:in `invoke'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/exe/rspec:4:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `kernel_load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in `exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `<main>'\"]"], ["created_at", "2019-08-22 20:52:05.496699"]]
218
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
219
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "timed_out_count" = COALESCE("timed_out_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
220
+  (0.0ms) RELEASE SAVEPOINT active_record_1
221
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
222
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
223
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["equivalent", "t"], ["raised_error", "f"]]
224
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["equivalent", "f"], ["raised_error", "f"]]
225
+ LabTech::Result Load (0.2ms) SELECT "lab_tech_results".* FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["equivalent", "f"], ["raised_error", "t"]]
226
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["equivalent", "f"], ["raised_error", "t"]]
227
+ LabTech::Result Load (0.2ms) SELECT "lab_tech_results".* FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["equivalent", "f"], ["raised_error", "t"]]
228
+  (0.4ms) rollback transaction
229
+  (0.0ms) begin transaction
230
+  (0.0ms) SAVEPOINT active_record_1
231
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
232
+  (0.0ms) RELEASE SAVEPOINT active_record_1
233
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
234
+  (0.0ms) SAVEPOINT active_record_1
235
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", 0.5], ["created_at", "2019-08-22 20:52:05.512703"], ["control_duration", 0.5], ["candidate_duration", 0.0]]
236
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 0.5], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.513725"]]
237
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 0.0], ["value", "--- :wobble\n"], ["created_at", "2019-08-22 20:52:05.514596"]]
238
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
239
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
240
+  (0.0ms) RELEASE SAVEPOINT active_record_1
241
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
242
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
243
+ LabTech::Observation Load (0.2ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
244
+  (0.3ms) rollback transaction
245
+  (0.0ms) begin transaction
246
+  (0.1ms) SAVEPOINT active_record_1
247
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
248
+  (0.0ms) RELEASE SAVEPOINT active_record_1
249
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
250
+  (0.1ms) SAVEPOINT active_record_1
251
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", 0.0], ["created_at", "2019-08-22 20:52:05.523063"], ["control_duration", 0.0], ["candidate_duration", 0.0]]
252
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 0.0], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.524149"]]
253
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 0.0], ["value", "--- :wobble\n"], ["created_at", "2019-08-22 20:52:05.524982"]]
254
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
255
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
256
+  (0.0ms) RELEASE SAVEPOINT active_record_1
257
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
258
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
259
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
260
+  (0.3ms) rollback transaction
261
+  (0.0ms) begin transaction
262
+  (0.0ms) SAVEPOINT active_record_1
263
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
264
+  (0.0ms) RELEASE SAVEPOINT active_record_1
265
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
266
+  (0.0ms) SAVEPOINT active_record_1
267
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", 0.0], ["speedup_factor", 0.0], ["created_at", "2019-08-22 20:52:05.532874"], ["control_duration", 0.5], ["candidate_duration", 0.5]]
268
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 0.5], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.533962"]]
269
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 0.5], ["value", "--- :wobble\n"], ["created_at", "2019-08-22 20:52:05.534975"]]
270
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
271
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
272
+  (0.0ms) RELEASE SAVEPOINT active_record_1
273
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
274
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
275
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
276
+  (0.3ms) rollback transaction
277
+  (0.0ms) begin transaction
278
+  (0.0ms) SAVEPOINT active_record_1
279
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
280
+  (0.0ms) RELEASE SAVEPOINT active_record_1
281
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
282
+  (0.0ms) SAVEPOINT active_record_1
283
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", 0.0], ["speedup_factor", 0.0], ["created_at", "2019-08-22 20:52:05.542582"], ["control_duration", 0.5], ["candidate_duration", 0.5]]
284
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 0.5], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.543727"]]
285
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 0.5], ["value", "--- :wobble\n"], ["created_at", "2019-08-22 20:52:05.544610"]]
286
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
287
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
288
+  (0.0ms) RELEASE SAVEPOINT active_record_1
289
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
290
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
291
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
292
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
293
+  (0.3ms) rollback transaction
294
+  (0.0ms) begin transaction
295
+  (0.0ms) SAVEPOINT active_record_1
296
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
297
+  (0.0ms) RELEASE SAVEPOINT active_record_1
298
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
299
+  (0.1ms) SAVEPOINT active_record_1
300
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", -0.5], ["speedup_factor", -2.0], ["created_at", "2019-08-22 20:52:05.552832"], ["control_duration", 0.5], ["candidate_duration", 1.0]]
301
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 0.5], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.554123"]]
302
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.0], ["value", "--- :wobble\n"], ["created_at", "2019-08-22 20:52:05.555110"]]
303
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
304
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
305
+  (0.0ms) RELEASE SAVEPOINT active_record_1
306
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
307
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
308
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
309
+  (0.3ms) rollback transaction
310
+  (0.0ms) begin transaction
311
+  (0.0ms) SAVEPOINT active_record_1
312
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
313
+  (0.0ms) RELEASE SAVEPOINT active_record_1
314
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
315
+  (0.0ms) SAVEPOINT active_record_1
316
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 0.0], ["speedup_factor", 0.0], ["created_at", "2019-08-22 20:52:05.563091"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.00000761449337e-06]]
317
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.564176"]]
318
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- :WIBBLE\n"], ["created_at", "2019-08-22 20:52:05.565021"]]
319
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
320
+  (0.0ms) RELEASE SAVEPOINT active_record_1
321
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
322
+  (0.4ms) rollback transaction
323
+  (0.1ms) begin transaction
324
+  (0.0ms) SAVEPOINT active_record_1
325
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
326
+  (0.1ms) RELEASE SAVEPOINT active_record_1
327
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
328
+  (0.0ms) SAVEPOINT active_record_1
329
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "raised_error", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["raised_error", "t"], ["time_delta", -1.09999964479357e-05], ["speedup_factor", -11.999912689173458], ["created_at", "2019-08-22 20:52:05.570867"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.200000406242907e-05]]
330
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.571923"]]
331
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "exception_class", "exception_message", "exception_backtrace", "created_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.200000406242907e-05], ["exception_class", "RuntimeError"], ["exception_message", "nope"], ["exception_backtrace", "[\"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:130:in `block (6 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/observation.rb:33:in `initialize'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `new'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `run'\", \"/Users/sam/work/lab_tech/app/models/lab_tech/experiment.rb:148:in `run'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:37:in `science'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:128:in `block (4 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:348:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:507:in `block in run_owned_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `run_owned_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:593:in `block in run_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `reverse_each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `run_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:462:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:497:in `run_before_example'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:256:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:9:in `block (3 levels) in <top (required)>'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:68:in `publish_results_in_test_mode'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:8:in `block (2 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-rails-3.8.2/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:254:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:633:in `block in run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:595:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (3 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (2 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/configuration.rb:2008:in `with_suite_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:111:in `block in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/reporter.rb:74:in `report'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:110:in `run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:87:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:71:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:45:in `invoke'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/exe/rspec:4:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `kernel_load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in `exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `<main>'\"]"], ["created_at", "2019-08-22 20:52:05.572787"]]
332
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
333
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
334
+  (0.0ms) RELEASE SAVEPOINT active_record_1
335
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
336
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
337
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
338
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
339
+  (0.3ms) rollback transaction
340
+  (0.0ms) begin transaction
341
+  (0.0ms) SAVEPOINT active_record_1
342
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
343
+  (0.0ms) RELEASE SAVEPOINT active_record_1
344
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
345
+  (0.0ms) SAVEPOINT active_record_1
346
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "raised_error", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["raised_error", "t"], ["time_delta", -1.1999974958598614e-05], ["created_at", "2019-08-22 20:52:05.581395"], ["control_duration", 0.0], ["candidate_duration", 1.1999974958598614e-05]]
347
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 0.0], ["value", "--- :wibble\n"], ["created_at", "2019-08-22 20:52:05.582462"]]
348
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "exception_class", "exception_message", "exception_backtrace", "created_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.1999974958598614e-05], ["exception_class", "Timeout::Error"], ["exception_message", "nope"], ["exception_backtrace", "[\"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:155:in `block (6 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/observation.rb:33:in `initialize'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `new'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `run'\", \"/Users/sam/work/lab_tech/app/models/lab_tech/experiment.rb:148:in `run'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:37:in `science'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:153:in `block (4 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:348:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:507:in `block in run_owned_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `run_owned_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:593:in `block in run_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `reverse_each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `run_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:462:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:497:in `run_before_example'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:256:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:9:in `block (3 levels) in <top (required)>'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:68:in `publish_results_in_test_mode'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/result_spec.rb:8:in `block (2 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-rails-3.8.2/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:254:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:633:in `block in run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:595:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (3 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (2 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/configuration.rb:2008:in `with_suite_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:111:in `block in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/reporter.rb:74:in `report'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:110:in `run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:87:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:71:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:45:in `invoke'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/exe/rspec:4:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `kernel_load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in `exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `<main>'\"]"], ["created_at", "2019-08-22 20:52:05.583302"]]
349
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
350
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "timed_out_count" = COALESCE("timed_out_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
351
+  (0.0ms) RELEASE SAVEPOINT active_record_1
352
+ LabTech::Result Load (0.0ms) SELECT "lab_tech_results".* FROM "lab_tech_results" ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["LIMIT", 1]]
353
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
354
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
355
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
356
+ LabTech::Result Load (0.2ms) SELECT "lab_tech_results".* FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["equivalent", "f"], ["raised_error", "t"]]
357
+  (0.3ms) rollback transaction
358
+  (0.0ms) begin transaction
359
+  (0.0ms) rollback transaction
360
+  (0.0ms) begin transaction
361
+  (0.0ms) rollback transaction
362
+  (0.0ms) begin transaction
363
+  (0.0ms) rollback transaction
364
+  (0.0ms) begin transaction
365
+  (0.0ms) rollback transaction
366
+  (0.0ms) begin transaction
367
+  (0.0ms) rollback transaction
368
+  (0.0ms) begin transaction
369
+  (0.0ms) rollback transaction
370
+  (0.0ms) begin transaction
371
+  (0.0ms) rollback transaction
372
+  (0.0ms) begin transaction
373
+  (0.0ms) rollback transaction
374
+  (0.0ms) begin transaction
375
+  (0.0ms) rollback transaction
376
+  (0.0ms) begin transaction
377
+  (0.0ms) rollback transaction
378
+  (0.0ms) begin transaction
379
+  (0.0ms) rollback transaction
380
+  (0.0ms) begin transaction
381
+  (0.0ms) rollback transaction
382
+  (0.0ms) begin transaction
383
+  (0.0ms) rollback transaction
384
+  (0.0ms) begin transaction
385
+  (0.0ms) SAVEPOINT active_record_1
386
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
387
+  (0.0ms) RELEASE SAVEPOINT active_record_1
388
+ LabTech::Result Exists (0.1ms) SELECT 1 AS one FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
389
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
390
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
391
+  (0.3ms) rollback transaction
392
+  (0.0ms) begin transaction
393
+  (0.0ms) SAVEPOINT active_record_1
394
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
395
+  (0.0ms) RELEASE SAVEPOINT active_record_1
396
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
397
+  (0.0ms) SAVEPOINT active_record_1
398
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["time_delta", 1.00000761449337e-06], ["speedup_factor", 2.0], ["created_at", "2019-08-22 20:52:05.605095"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 1.00000761449337e-06]]
399
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.606273"]]
400
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- bar\n"], ["created_at", "2019-08-22 20:52:05.607158"]]
401
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
402
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
403
+  (0.1ms) RELEASE SAVEPOINT active_record_1
404
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
405
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
406
+  (0.0ms) SAVEPOINT active_record_1
407
+  (0.1ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
408
+  (0.1ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
409
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
410
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
411
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
412
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
413
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
414
+  (0.1ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
415
+  (0.0ms) RELEASE SAVEPOINT active_record_1
416
+  (0.3ms) rollback transaction
417
+  (0.0ms) begin transaction
418
+  (0.0ms) SAVEPOINT active_record_1
419
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
420
+  (0.0ms) RELEASE SAVEPOINT active_record_1
421
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
422
+  (0.1ms) SAVEPOINT active_record_1
423
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "raised_error", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["raised_error", "t"], ["time_delta", -8.99998121894896e-06], ["speedup_factor", -5.499956344586729], ["created_at", "2019-08-22 20:52:05.635652"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 1.09999964479357e-05]]
424
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.636990"]]
425
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "exception_class", "exception_message", "exception_backtrace", "created_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.09999964479357e-05], ["exception_class", "RuntimeError"], ["exception_message", "nope"], ["exception_backtrace", "[\"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:98:in `block (4 levels) in <top (required)>'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:12:in `block (3 levels) in record_experiment'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/observation.rb:33:in `initialize'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `new'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `run'\", \"/Users/sam/work/lab_tech/app/models/lab_tech/experiment.rb:148:in `run'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:37:in `science'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:10:in `block in record_experiment'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:68:in `publish_results_in_test_mode'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:8:in `record_experiment'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:98:in `block (3 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:348:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:507:in `block in run_owned_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `run_owned_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:593:in `block in run_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `reverse_each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `run_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:462:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:497:in `run_before_example'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:256:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-rails-3.8.2/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:254:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:633:in `block in run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:595:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (3 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (2 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/configuration.rb:2008:in `with_suite_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:111:in `block in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/reporter.rb:74:in `report'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:110:in `run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:87:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:71:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:45:in `invoke'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/exe/rspec:4:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `kernel_load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in `exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `<main>'\"]"], ["created_at", "2019-08-22 20:52:05.637907"]]
426
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
427
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "other_error_count" = COALESCE("other_error_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
428
+  (0.0ms) RELEASE SAVEPOINT active_record_1
429
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
430
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
431
+  (0.0ms) SAVEPOINT active_record_1
432
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
433
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
434
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
435
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
436
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
437
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
438
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
439
+  (0.0ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
440
+  (0.0ms) RELEASE SAVEPOINT active_record_1
441
+  (0.3ms) rollback transaction
442
+  (0.0ms) begin transaction
443
+  (0.0ms) SAVEPOINT active_record_1
444
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
445
+  (0.0ms) RELEASE SAVEPOINT active_record_1
446
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
447
+  (0.0ms) SAVEPOINT active_record_1
448
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "raised_error", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["raised_error", "t"], ["time_delta", -9.000010322779417e-06], ["speedup_factor", -5.500036380040455], ["created_at", "2019-08-22 20:52:05.649232"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 1.09999964479357e-05]]
449
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.650260"]]
450
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "exception_class", "exception_message", "exception_backtrace", "created_at") VALUES (?, ?, ?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.09999964479357e-05], ["exception_class", "Timeout::Error"], ["exception_message", "too slow"], ["exception_backtrace", "[\"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:113:in `block (4 levels) in <top (required)>'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:12:in `block (3 levels) in record_experiment'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/observation.rb:33:in `initialize'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `new'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:224:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/scientist-1.3.0/lib/scientist/experiment.rb:221:in `run'\", \"/Users/sam/work/lab_tech/app/models/lab_tech/experiment.rb:148:in `run'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:37:in `science'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:10:in `block in record_experiment'\", \"/Users/sam/work/lab_tech/lib/lab_tech.rb:68:in `publish_results_in_test_mode'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:8:in `record_experiment'\", \"/Users/sam/work/lab_tech/spec/models/lab_tech/summary_spec.rb:113:in `block (3 levels) in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:348:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:507:in `block in run_owned_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:506:in `run_owned_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:593:in `block in run_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `reverse_each'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:592:in `run_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:462:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:497:in `run_before_example'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:256:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `block in with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `block in with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:604:in `block in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-rails-3.8.2/lib/rspec/rails/adapters.rb:127:in `block (2 levels) in <module:MinitestLifecycleAdapter>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:450:in `instance_exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:373:in `execute_with'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:345:in `call'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/hooks.rb:464:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:460:in `with_around_example_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:503:in `with_around_and_singleton_context_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example.rb:254:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:633:in `block in run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:629:in `run_examples'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:595:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `block in run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/example_group.rb:596:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (3 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `map'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:116:in `block (2 levels) in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/configuration.rb:2008:in `with_suite_hooks'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:111:in `block in run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/reporter.rb:74:in `report'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:110:in `run_specs'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:87:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:71:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/lib/rspec/core/runner.rb:45:in `invoke'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/rspec-core-3.8.2/exe/rspec:4:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/rspec:23:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:74:in `kernel_load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli/exec.rb:28:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:465:in `exec'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/lib/ruby/gems/2.6.0/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `load'\", \"/Users/sam/.asdf/installs/ruby/2.6.3/bin/bundle:23:in `<main>'\"]"], ["created_at", "2019-08-22 20:52:05.651207"]]
451
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') [["result_id", 1]]
452
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "timed_out_count" = COALESCE("timed_out_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
453
+  (0.0ms) RELEASE SAVEPOINT active_record_1
454
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
455
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
456
+  (0.0ms) SAVEPOINT active_record_1
457
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
458
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
459
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
460
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
461
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
462
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
463
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
464
+  (0.0ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
465
+  (0.0ms) RELEASE SAVEPOINT active_record_1
466
+  (0.4ms) rollback transaction
467
+  (0.0ms) begin transaction
468
+  (0.0ms) SAVEPOINT active_record_1
469
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
470
+  (0.0ms) RELEASE SAVEPOINT active_record_1
471
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
472
+  (0.0ms) SAVEPOINT active_record_1
473
+ SQL (0.4ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.00000761449337e-06], ["speedup_factor", -2.000029104455892], ["created_at", "2019-08-22 20:52:05.662945"], ["control_duration", 9.999785106629133e-07], ["candidate_duration", 1.9999861251562834e-06]]
474
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.664346"]]
475
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.665391"]]
476
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
477
+  (0.1ms) RELEASE SAVEPOINT active_record_1
478
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "time_delta" = NULL, "speedup_factor" = NULL WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
479
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
480
+  (0.2ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
481
+  (0.1ms) SAVEPOINT active_record_1
482
+  (0.1ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
483
+  (0.1ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
484
+  (0.2ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
485
+  (0.2ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
486
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
487
+  (0.2ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
488
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
489
+  (0.1ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
490
+  (0.1ms) RELEASE SAVEPOINT active_record_1
491
+  (0.4ms) rollback transaction
492
+  (0.0ms) begin transaction
493
+  (0.0ms) SAVEPOINT active_record_1
494
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
495
+  (0.0ms) RELEASE SAVEPOINT active_record_1
496
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
497
+  (0.1ms) SAVEPOINT active_record_1
498
+ SQL (0.4ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:05.681575"], ["control_duration", 0.0], ["candidate_duration", 1.9999861251562834e-06]]
499
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.683316"]]
500
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.684602"]]
501
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
502
+  (0.2ms) RELEASE SAVEPOINT active_record_1
503
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "time_delta" = NULL, "speedup_factor" = NULL WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
504
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
505
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
506
+  (0.0ms) SAVEPOINT active_record_1
507
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
508
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
509
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
510
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
511
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
512
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
513
+  (0.2ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
514
+  (0.1ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
515
+  (0.1ms) RELEASE SAVEPOINT active_record_1
516
+  (0.5ms) rollback transaction
517
+  (0.0ms) begin transaction
518
+  (0.0ms) SAVEPOINT active_record_1
519
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
520
+  (0.0ms) RELEASE SAVEPOINT active_record_1
521
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
522
+  (0.0ms) SAVEPOINT active_record_1
523
+ SQL (0.9ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.00000761449337e-06], ["speedup_factor", -2.0], ["created_at", "2019-08-22 20:52:05.698450"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 2.00001522898674e-06]]
524
+ SQL (0.8ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.700641"]]
525
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.703087"]]
526
+ SQL (0.2ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
527
+  (0.1ms) RELEASE SAVEPOINT active_record_1
528
+ LabTech::Result Load (0.2ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
529
+  (0.0ms) SAVEPOINT active_record_1
530
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 1.0], ["speedup_factor", 0.0], ["time_delta", 0.0], ["id", 1]]
531
+  (0.0ms) RELEASE SAVEPOINT active_record_1
532
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
533
+  (0.0ms) SAVEPOINT active_record_1
534
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 1]]
535
+  (0.0ms) RELEASE SAVEPOINT active_record_1
536
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
537
+  (0.0ms) SAVEPOINT active_record_1
538
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 2]]
539
+  (0.1ms) RELEASE SAVEPOINT active_record_1
540
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" ASC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
541
+ LabTech::Observation Load (0.2ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
542
+ LabTech::Observation Load (0.2ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
543
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
544
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
545
+  (0.0ms) SAVEPOINT active_record_1
546
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
547
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
548
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
549
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
550
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
551
+  (0.2ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
552
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
553
+  (0.1ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
554
+  (0.0ms) RELEASE SAVEPOINT active_record_1
555
+  (0.3ms) rollback transaction
556
+  (0.0ms) begin transaction
557
+  (0.0ms) SAVEPOINT active_record_1
558
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
559
+  (0.0ms) RELEASE SAVEPOINT active_record_1
560
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
561
+  (0.0ms) SAVEPOINT active_record_1
562
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:05.726396"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 0.0]]
563
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.727440"]]
564
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.728359"]]
565
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
566
+  (0.0ms) RELEASE SAVEPOINT active_record_1
567
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
568
+  (0.0ms) SAVEPOINT active_record_1
569
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 1.0], ["speedup_factor", 0.0], ["time_delta", 0.0], ["id", 1]]
570
+  (0.0ms) RELEASE SAVEPOINT active_record_1
571
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
572
+  (0.0ms) SAVEPOINT active_record_1
573
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 1]]
574
+  (0.0ms) RELEASE SAVEPOINT active_record_1
575
+ LabTech::Observation Load (0.2ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
576
+  (0.0ms) SAVEPOINT active_record_1
577
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 2]]
578
+  (0.1ms) RELEASE SAVEPOINT active_record_1
579
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" ASC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
580
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
581
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
582
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
583
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
584
+  (0.0ms) SAVEPOINT active_record_1
585
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
586
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
587
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
588
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
589
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
590
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
591
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
592
+  (0.1ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
593
+  (0.0ms) RELEASE SAVEPOINT active_record_1
594
+  (0.3ms) rollback transaction
595
+  (0.0ms) begin transaction
596
+  (0.0ms) SAVEPOINT active_record_1
597
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
598
+  (0.0ms) RELEASE SAVEPOINT active_record_1
599
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
600
+  (0.0ms) SAVEPOINT active_record_1
601
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 9.999785106629133e-07], ["speedup_factor", 1.9999708963911524], ["created_at", "2019-08-22 20:52:05.747961"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 1.00000761449337e-06]]
602
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.749044"]]
603
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.750002"]]
604
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
605
+  (0.0ms) RELEASE SAVEPOINT active_record_1
606
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
607
+  (0.1ms) SAVEPOINT active_record_1
608
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 0.1], ["speedup_factor", 10.0], ["time_delta", 0.9], ["id", 1]]
609
+  (0.0ms) RELEASE SAVEPOINT active_record_1
610
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
611
+  (0.0ms) SAVEPOINT active_record_1
612
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 1]]
613
+  (0.0ms) RELEASE SAVEPOINT active_record_1
614
+ LabTech::Observation Load (0.2ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
615
+  (0.0ms) SAVEPOINT active_record_1
616
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.1], ["id", 2]]
617
+  (0.1ms) RELEASE SAVEPOINT active_record_1
618
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" ASC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
619
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
620
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
621
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
622
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
623
+  (0.0ms) SAVEPOINT active_record_1
624
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
625
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
626
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
627
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
628
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
629
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
630
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
631
+  (0.0ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
632
+  (0.0ms) RELEASE SAVEPOINT active_record_1
633
+  (0.3ms) rollback transaction
634
+  (0.0ms) begin transaction
635
+  (0.0ms) SAVEPOINT active_record_1
636
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
637
+  (0.0ms) RELEASE SAVEPOINT active_record_1
638
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
639
+  (0.0ms) SAVEPOINT active_record_1
640
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 9.999785106629133e-07], ["speedup_factor", 1.9999708963911524], ["created_at", "2019-08-22 20:52:05.770063"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 1.00000761449337e-06]]
641
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.771139"]]
642
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.772035"]]
643
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
644
+  (0.0ms) RELEASE SAVEPOINT active_record_1
645
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
646
+  (0.1ms) SAVEPOINT active_record_1
647
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 10.0], ["speedup_factor", -10.0], ["time_delta", -9.0], ["id", 1]]
648
+  (0.0ms) RELEASE SAVEPOINT active_record_1
649
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
650
+  (0.0ms) SAVEPOINT active_record_1
651
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 1]]
652
+  (0.1ms) RELEASE SAVEPOINT active_record_1
653
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
654
+  (0.0ms) SAVEPOINT active_record_1
655
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 10.0], ["id", 2]]
656
+  (0.0ms) RELEASE SAVEPOINT active_record_1
657
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" ASC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
658
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
659
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
660
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
661
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
662
+  (0.0ms) SAVEPOINT active_record_1
663
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
664
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
665
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
666
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
667
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
668
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
669
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
670
+  (0.1ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
671
+  (0.0ms) RELEASE SAVEPOINT active_record_1
672
+  (0.3ms) rollback transaction
673
+  (0.0ms) begin transaction
674
+  (0.0ms) SAVEPOINT active_record_1
675
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
676
+  (0.0ms) RELEASE SAVEPOINT active_record_1
677
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
678
+  (0.0ms) SAVEPOINT active_record_1
679
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.9999861251562834e-06], ["speedup_factor", 2.9999708963911527], ["created_at", "2019-08-22 20:52:05.790543"], ["control_duration", 2.9999937396496534e-06], ["candidate_duration", 1.00000761449337e-06]]
680
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 2.9999937396496534e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.791597"]]
681
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.792651"]]
682
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
683
+  (0.0ms) RELEASE SAVEPOINT active_record_1
684
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
685
+  (0.0ms) SAVEPOINT active_record_1
686
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 10.0], ["speedup_factor", -10.0], ["time_delta", -9.0], ["id", 1]]
687
+  (0.1ms) RELEASE SAVEPOINT active_record_1
688
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
689
+  (0.1ms) SAVEPOINT active_record_1
690
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 1]]
691
+  (0.1ms) RELEASE SAVEPOINT active_record_1
692
+ LabTech::Observation Load (0.2ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
693
+  (0.0ms) SAVEPOINT active_record_1
694
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 10.0], ["id", 2]]
695
+  (0.1ms) RELEASE SAVEPOINT active_record_1
696
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
697
+  (0.1ms) SAVEPOINT active_record_1
698
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.00000761449337e-06], ["speedup_factor", -2.0], ["created_at", "2019-08-22 20:52:05.803960"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 2.00001522898674e-06]]
699
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.805423"]]
700
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "candidate"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.806386"]]
701
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
702
+  (0.1ms) RELEASE SAVEPOINT active_record_1
703
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
704
+  (0.0ms) SAVEPOINT active_record_1
705
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 2.0], ["time_delta", -1.0], ["id", 2]]
706
+  (0.1ms) RELEASE SAVEPOINT active_record_1
707
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 2], ["LIMIT", 1]]
708
+  (0.0ms) SAVEPOINT active_record_1
709
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 3]]
710
+  (0.1ms) RELEASE SAVEPOINT active_record_1
711
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 2], ["LIMIT", 1]]
712
+  (0.0ms) SAVEPOINT active_record_1
713
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 2.0], ["id", 4]]
714
+  (0.0ms) RELEASE SAVEPOINT active_record_1
715
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
716
+  (0.0ms) SAVEPOINT active_record_1
717
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.00000761449337e-06], ["speedup_factor", -2.0], ["created_at", "2019-08-22 20:52:05.824847"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 2.00001522898674e-06]]
718
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.826024"]]
719
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "candidate"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.826860"]]
720
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
721
+  (0.0ms) RELEASE SAVEPOINT active_record_1
722
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
723
+  (0.1ms) SAVEPOINT active_record_1
724
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 1.0], ["speedup_factor", 0.0], ["time_delta", 0.0], ["id", 3]]
725
+  (0.1ms) RELEASE SAVEPOINT active_record_1
726
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 3], ["LIMIT", 1]]
727
+  (0.0ms) SAVEPOINT active_record_1
728
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 5]]
729
+  (0.0ms) RELEASE SAVEPOINT active_record_1
730
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 3], ["LIMIT", 1]]
731
+  (0.0ms) SAVEPOINT active_record_1
732
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 6]]
733
+  (0.0ms) RELEASE SAVEPOINT active_record_1
734
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
735
+  (0.1ms) SAVEPOINT active_record_1
736
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.00000761449337e-06], ["speedup_factor", -2.0], ["created_at", "2019-08-22 20:52:05.835618"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 2.00001522898674e-06]]
737
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.836763"]]
738
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "candidate"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.837677"]]
739
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
740
+  (0.0ms) RELEASE SAVEPOINT active_record_1
741
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
742
+  (0.0ms) SAVEPOINT active_record_1
743
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 0.5], ["speedup_factor", 2.0], ["time_delta", 0.5], ["id", 4]]
744
+  (0.0ms) RELEASE SAVEPOINT active_record_1
745
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 4], ["LIMIT", 1]]
746
+  (0.0ms) SAVEPOINT active_record_1
747
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 7]]
748
+  (0.0ms) RELEASE SAVEPOINT active_record_1
749
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 4], ["LIMIT", 1]]
750
+  (0.0ms) SAVEPOINT active_record_1
751
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.5], ["id", 8]]
752
+  (0.0ms) RELEASE SAVEPOINT active_record_1
753
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
754
+  (0.0ms) SAVEPOINT active_record_1
755
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.9999861251562834e-06], ["speedup_factor", 2.9999708963911527], ["created_at", "2019-08-22 20:52:05.846025"], ["control_duration", 2.9999937396496534e-06], ["candidate_duration", 1.00000761449337e-06]]
756
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "control"], ["duration", 2.9999937396496534e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.846984"]]
757
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.847799"]]
758
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
759
+  (0.0ms) RELEASE SAVEPOINT active_record_1
760
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
761
+  (0.0ms) SAVEPOINT active_record_1
762
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 0.1], ["speedup_factor", 10.0], ["time_delta", 0.9], ["id", 5]]
763
+  (0.0ms) RELEASE SAVEPOINT active_record_1
764
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 5], ["LIMIT", 1]]
765
+  (0.0ms) SAVEPOINT active_record_1
766
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 9]]
767
+  (0.0ms) RELEASE SAVEPOINT active_record_1
768
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 5], ["LIMIT", 1]]
769
+  (0.0ms) SAVEPOINT active_record_1
770
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.1], ["id", 10]]
771
+  (0.0ms) RELEASE SAVEPOINT active_record_1
772
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
773
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
774
+  (0.0ms) SAVEPOINT active_record_1
775
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
776
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
777
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
778
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
779
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
780
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
781
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
782
+  (0.1ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
783
+  (0.0ms) RELEASE SAVEPOINT active_record_1
784
+  (0.4ms) rollback transaction
785
+  (0.0ms) begin transaction
786
+  (0.1ms) SAVEPOINT active_record_1
787
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
788
+  (0.0ms) RELEASE SAVEPOINT active_record_1
789
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
790
+  (0.0ms) SAVEPOINT active_record_1
791
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 2.00001522898674e-06], ["created_at", "2019-08-22 20:52:05.863984"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 0.0]]
792
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.865046"]]
793
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.865902"]]
794
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
795
+  (0.0ms) RELEASE SAVEPOINT active_record_1
796
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
797
+  (0.0ms) SAVEPOINT active_record_1
798
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 10.0], ["speedup_factor", -10.0], ["time_delta", -9.0], ["id", 1]]
799
+  (0.1ms) RELEASE SAVEPOINT active_record_1
800
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
801
+  (0.0ms) SAVEPOINT active_record_1
802
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 1]]
803
+  (0.0ms) RELEASE SAVEPOINT active_record_1
804
+ LabTech::Observation Load (0.2ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
805
+  (0.0ms) SAVEPOINT active_record_1
806
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 10.0], ["id", 2]]
807
+  (0.0ms) RELEASE SAVEPOINT active_record_1
808
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
809
+  (0.0ms) SAVEPOINT active_record_1
810
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:05.874547"], ["control_duration", 0.0], ["candidate_duration", 1.9999861251562834e-06]]
811
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "control"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.875445"]]
812
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.876208"]]
813
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
814
+  (0.0ms) RELEASE SAVEPOINT active_record_1
815
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
816
+  (0.0ms) SAVEPOINT active_record_1
817
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 2.0], ["speedup_factor", -2.0], ["time_delta", -1.0], ["id", 2]]
818
+  (0.0ms) RELEASE SAVEPOINT active_record_1
819
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 2], ["LIMIT", 1]]
820
+  (0.0ms) SAVEPOINT active_record_1
821
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 3]]
822
+  (0.0ms) RELEASE SAVEPOINT active_record_1
823
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 2], ["LIMIT", 1]]
824
+  (0.0ms) SAVEPOINT active_record_1
825
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 2.0], ["id", 4]]
826
+  (0.0ms) RELEASE SAVEPOINT active_record_1
827
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
828
+  (0.0ms) SAVEPOINT active_record_1
829
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:05.883435"], ["control_duration", 0.0], ["candidate_duration", 1.9999861251562834e-06]]
830
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "control"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.884290"]]
831
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.885207"]]
832
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
833
+  (0.0ms) RELEASE SAVEPOINT active_record_1
834
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
835
+  (0.0ms) SAVEPOINT active_record_1
836
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 1.0], ["speedup_factor", 0.0], ["time_delta", 0.0], ["id", 3]]
837
+  (0.0ms) RELEASE SAVEPOINT active_record_1
838
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 3], ["LIMIT", 1]]
839
+  (0.0ms) SAVEPOINT active_record_1
840
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 5]]
841
+  (0.0ms) RELEASE SAVEPOINT active_record_1
842
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 3], ["LIMIT", 1]]
843
+  (0.0ms) SAVEPOINT active_record_1
844
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 6]]
845
+  (0.0ms) RELEASE SAVEPOINT active_record_1
846
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
847
+  (0.0ms) SAVEPOINT active_record_1
848
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["created_at", "2019-08-22 20:52:05.893616"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 0.0]]
849
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.894530"]]
850
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.895337"]]
851
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
852
+  (0.0ms) RELEASE SAVEPOINT active_record_1
853
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
854
+  (0.0ms) SAVEPOINT active_record_1
855
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 0.5], ["speedup_factor", 2.0], ["time_delta", 0.5], ["id", 4]]
856
+  (0.0ms) RELEASE SAVEPOINT active_record_1
857
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 4], ["LIMIT", 1]]
858
+  (0.0ms) SAVEPOINT active_record_1
859
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 7]]
860
+  (0.1ms) RELEASE SAVEPOINT active_record_1
861
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 4], ["LIMIT", 1]]
862
+  (0.0ms) SAVEPOINT active_record_1
863
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.5], ["id", 8]]
864
+  (0.0ms) RELEASE SAVEPOINT active_record_1
865
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
866
+  (0.0ms) SAVEPOINT active_record_1
867
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.00000761449337e-06], ["speedup_factor", -2.000029104455892], ["created_at", "2019-08-22 20:52:05.903068"], ["control_duration", 9.999785106629133e-07], ["candidate_duration", 1.9999861251562834e-06]]
868
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "control"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.904258"]]
869
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.905081"]]
870
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
871
+  (0.0ms) RELEASE SAVEPOINT active_record_1
872
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
873
+  (0.0ms) SAVEPOINT active_record_1
874
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 0.1], ["speedup_factor", 10.0], ["time_delta", 0.9], ["id", 5]]
875
+  (0.0ms) RELEASE SAVEPOINT active_record_1
876
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 5], ["LIMIT", 1]]
877
+  (0.0ms) SAVEPOINT active_record_1
878
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 9]]
879
+  (0.0ms) RELEASE SAVEPOINT active_record_1
880
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 5], ["LIMIT", 1]]
881
+  (0.0ms) SAVEPOINT active_record_1
882
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.1], ["id", 10]]
883
+  (0.0ms) RELEASE SAVEPOINT active_record_1
884
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
885
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
886
+  (0.0ms) SAVEPOINT active_record_1
887
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
888
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
889
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
890
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
891
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
892
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
893
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
894
+  (0.0ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
895
+  (0.0ms) RELEASE SAVEPOINT active_record_1
896
+  (0.6ms) rollback transaction
897
+  (0.0ms) begin transaction
898
+  (0.1ms) SAVEPOINT active_record_1
899
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
900
+  (0.0ms) RELEASE SAVEPOINT active_record_1
901
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
902
+  (0.0ms) SAVEPOINT active_record_1
903
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 0.0], ["speedup_factor", 0.0], ["created_at", "2019-08-22 20:52:05.920815"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.00000761449337e-06]]
904
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.921938"]]
905
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.923017"]]
906
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
907
+  (0.0ms) RELEASE SAVEPOINT active_record_1
908
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
909
+  (0.0ms) SAVEPOINT active_record_1
910
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 10.0], ["speedup_factor", -10.0], ["time_delta", -9.0], ["id", 1]]
911
+  (0.0ms) RELEASE SAVEPOINT active_record_1
912
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
913
+  (0.0ms) SAVEPOINT active_record_1
914
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 1]]
915
+  (0.0ms) RELEASE SAVEPOINT active_record_1
916
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
917
+  (0.0ms) SAVEPOINT active_record_1
918
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 10.0], ["id", 2]]
919
+  (0.0ms) RELEASE SAVEPOINT active_record_1
920
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
921
+  (0.0ms) SAVEPOINT active_record_1
922
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.00000761449337e-06], ["speedup_factor", -2.000029104455892], ["created_at", "2019-08-22 20:52:05.930863"], ["control_duration", 9.999785106629133e-07], ["candidate_duration", 1.9999861251562834e-06]]
923
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "control"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.931718"]]
924
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.932552"]]
925
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
926
+  (0.1ms) RELEASE SAVEPOINT active_record_1
927
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
928
+  (0.0ms) SAVEPOINT active_record_1
929
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 2.0], ["speedup_factor", -2.0], ["time_delta", -1.0], ["id", 2]]
930
+  (0.1ms) RELEASE SAVEPOINT active_record_1
931
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 2], ["LIMIT", 1]]
932
+  (0.0ms) SAVEPOINT active_record_1
933
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 3]]
934
+  (0.0ms) RELEASE SAVEPOINT active_record_1
935
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 2], ["LIMIT", 1]]
936
+  (0.0ms) SAVEPOINT active_record_1
937
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 2.0], ["id", 4]]
938
+  (0.0ms) RELEASE SAVEPOINT active_record_1
939
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
940
+  (0.0ms) SAVEPOINT active_record_1
941
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 0.0], ["speedup_factor", 0.0], ["created_at", "2019-08-22 20:52:05.940284"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.00000761449337e-06]]
942
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.941133"]]
943
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.941873"]]
944
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
945
+  (0.0ms) RELEASE SAVEPOINT active_record_1
946
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
947
+  (0.0ms) SAVEPOINT active_record_1
948
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 1.0], ["id", 3]]
949
+  (0.0ms) RELEASE SAVEPOINT active_record_1
950
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 3], ["LIMIT", 1]]
951
+  (0.0ms) SAVEPOINT active_record_1
952
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 5]]
953
+  (0.0ms) RELEASE SAVEPOINT active_record_1
954
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 3], ["LIMIT", 1]]
955
+  (0.0ms) SAVEPOINT active_record_1
956
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 6]]
957
+  (0.0ms) RELEASE SAVEPOINT active_record_1
958
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
959
+  (0.0ms) SAVEPOINT active_record_1
960
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -9.999785106629133e-07], ["speedup_factor", -1.9999708963911524], ["created_at", "2019-08-22 20:52:05.948681"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.9999861251562834e-06]]
961
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.949502"]]
962
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.950221"]]
963
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
964
+  (0.0ms) RELEASE SAVEPOINT active_record_1
965
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
966
+  (0.0ms) SAVEPOINT active_record_1
967
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 0.5], ["speedup_factor", 2.0], ["time_delta", 0.5], ["id", 4]]
968
+  (0.0ms) RELEASE SAVEPOINT active_record_1
969
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 4], ["LIMIT", 1]]
970
+  (0.0ms) SAVEPOINT active_record_1
971
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 7]]
972
+  (0.0ms) RELEASE SAVEPOINT active_record_1
973
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 4], ["LIMIT", 1]]
974
+  (0.0ms) SAVEPOINT active_record_1
975
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.5], ["id", 8]]
976
+  (0.0ms) RELEASE SAVEPOINT active_record_1
977
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
978
+  (0.0ms) SAVEPOINT active_record_1
979
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -2.00001522898674e-06], ["created_at", "2019-08-22 20:52:05.957646"], ["control_duration", 0.0], ["candidate_duration", 2.00001522898674e-06]]
980
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "control"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.958460"]]
981
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "candidate"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.959188"]]
982
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
983
+  (0.0ms) RELEASE SAVEPOINT active_record_1
984
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
985
+  (0.0ms) SAVEPOINT active_record_1
986
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.0], ["candidate_duration", 0.1], ["speedup_factor", 10.0], ["time_delta", 0.9], ["id", 5]]
987
+  (0.0ms) RELEASE SAVEPOINT active_record_1
988
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 5], ["LIMIT", 1]]
989
+  (0.0ms) SAVEPOINT active_record_1
990
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.0], ["id", 9]]
991
+  (0.0ms) RELEASE SAVEPOINT active_record_1
992
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 5], ["LIMIT", 1]]
993
+  (0.0ms) SAVEPOINT active_record_1
994
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.1], ["id", 10]]
995
+  (0.0ms) RELEASE SAVEPOINT active_record_1
996
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
997
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
998
+  (0.0ms) SAVEPOINT active_record_1
999
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1000
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1001
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1002
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
1003
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
1004
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
1005
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
1006
+  (0.0ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
1007
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1008
+  (0.7ms) rollback transaction
1009
+  (0.0ms) begin transaction
1010
+  (0.0ms) SAVEPOINT active_record_1
1011
+ SQL (0.3ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
1012
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1013
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1014
+  (0.0ms) SAVEPOINT active_record_1
1015
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["speedup_factor", 2.000029104455892], ["created_at", "2019-08-22 20:52:05.974752"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 9.999785106629133e-07]]
1016
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.975669"]]
1017
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.976435"]]
1018
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1019
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1020
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1021
+  (0.0ms) SAVEPOINT active_record_1
1022
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 1.7367], ["candidate_duration", 0.15918569372771518], ["speedup_factor", 10.9099], ["time_delta", 1.5775143062722847], ["id", 1]]
1023
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1024
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
1025
+  (0.0ms) SAVEPOINT active_record_1
1026
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 1.7367], ["id", 1]]
1027
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1028
+ LabTech::Observation Load (0.2ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
1029
+  (0.0ms) SAVEPOINT active_record_1
1030
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.15918569372771518], ["id", 2]]
1031
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1032
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1033
+  (0.0ms) SAVEPOINT active_record_1
1034
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["created_at", "2019-08-22 20:52:05.983322"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 0.0]]
1035
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.984071"]]
1036
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:05.984817"]]
1037
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1038
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1039
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1040
+  (0.0ms) SAVEPOINT active_record_1
1041
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.0642], ["candidate_duration", 0.20661485999999998], ["speedup_factor", -3.2183], ["time_delta", -0.14241485999999998], ["id", 2]]
1042
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1043
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 2], ["LIMIT", 1]]
1044
+  (0.0ms) SAVEPOINT active_record_1
1045
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.0642], ["id", 3]]
1046
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1047
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 2], ["LIMIT", 1]]
1048
+  (0.0ms) SAVEPOINT active_record_1
1049
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.20661485999999998], ["id", 4]]
1050
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1051
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1052
+  (0.0ms) SAVEPOINT active_record_1
1053
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["speedup_factor", 2.0], ["created_at", "2019-08-22 20:52:05.999647"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 1.00000761449337e-06]]
1054
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.000542"]]
1055
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.001229"]]
1056
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1057
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1058
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1059
+  (0.0ms) SAVEPOINT active_record_1
1060
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.0702], ["candidate_duration", 0.07656012], ["speedup_factor", -1.0906], ["time_delta", -0.006360119999999997], ["id", 3]]
1061
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1062
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 3], ["LIMIT", 1]]
1063
+  (0.0ms) SAVEPOINT active_record_1
1064
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.0702], ["id", 5]]
1065
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1066
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 3], ["LIMIT", 1]]
1067
+  (0.0ms) SAVEPOINT active_record_1
1068
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.07656012], ["id", 6]]
1069
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1070
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1071
+  (0.0ms) SAVEPOINT active_record_1
1072
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:06.007791"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 0.0]]
1073
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.008542"]]
1074
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.009204"]]
1075
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1076
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1077
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1078
+  (0.0ms) SAVEPOINT active_record_1
1079
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.0552], ["candidate_duration", 0.04962689921783691], ["speedup_factor", 1.1123], ["time_delta", 0.005573100782163089], ["id", 4]]
1080
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1081
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 4], ["LIMIT", 1]]
1082
+  (0.0ms) SAVEPOINT active_record_1
1083
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.0552], ["id", 7]]
1084
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1085
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 4], ["LIMIT", 1]]
1086
+  (0.0ms) SAVEPOINT active_record_1
1087
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.04962689921783691], ["id", 8]]
1088
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1089
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1090
+  (0.0ms) SAVEPOINT active_record_1
1091
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["speedup_factor", 2.0], ["created_at", "2019-08-22 20:52:06.015026"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 1.00000761449337e-06]]
1092
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.015705"]]
1093
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.016312"]]
1094
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1095
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1096
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1097
+  (0.0ms) SAVEPOINT active_record_1
1098
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.0539], ["candidate_duration", 0.045647018970189704], ["speedup_factor", 1.1808], ["time_delta", 0.0082529810298103], ["id", 5]]
1099
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1100
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 5], ["LIMIT", 1]]
1101
+  (0.0ms) SAVEPOINT active_record_1
1102
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.0539], ["id", 9]]
1103
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1104
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 5], ["LIMIT", 1]]
1105
+  (0.0ms) SAVEPOINT active_record_1
1106
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.045647018970189704], ["id", 10]]
1107
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1108
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1109
+  (0.0ms) SAVEPOINT active_record_1
1110
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 0.0], ["speedup_factor", 0.0], ["created_at", "2019-08-22 20:52:06.022670"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.00000761449337e-06]]
1111
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 6], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.023547"]]
1112
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 6], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.024187"]]
1113
+ SQL (0.2ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1114
+  (0.1ms) RELEASE SAVEPOINT active_record_1
1115
+ LabTech::Result Load (0.2ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1116
+  (0.1ms) SAVEPOINT active_record_1
1117
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.0554], ["candidate_duration", 0.06243026], ["speedup_factor", -1.1269], ["time_delta", -0.0070302600000000035], ["id", 6]]
1118
+  (0.1ms) RELEASE SAVEPOINT active_record_1
1119
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 6], ["LIMIT", 1]]
1120
+  (0.0ms) SAVEPOINT active_record_1
1121
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.0554], ["id", 11]]
1122
+  (0.1ms) RELEASE SAVEPOINT active_record_1
1123
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 6], ["LIMIT", 1]]
1124
+  (0.0ms) SAVEPOINT active_record_1
1125
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.06243026], ["id", 12]]
1126
+  (0.1ms) RELEASE SAVEPOINT active_record_1
1127
+ LabTech::Experiment Load (0.1ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
1128
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1129
+  (0.0ms) SAVEPOINT active_record_1
1130
+  (0.1ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1131
+  (0.1ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1132
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1133
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
1134
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
1135
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
1136
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
1137
+  (0.0ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
1138
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1139
+  (0.3ms) rollback transaction
1140
+  (0.0ms) begin transaction
1141
+  (0.0ms) SAVEPOINT active_record_1
1142
+ SQL (0.4ms) INSERT INTO "lab_tech_experiments" ("name", "percent_enabled") VALUES (?, ?) [["name", "wibble"], ["percent_enabled", 100]]
1143
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1144
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1145
+  (0.0ms) SAVEPOINT active_record_1
1146
+ SQL (0.2ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:06.138604"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 0.0]]
1147
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.139605"]]
1148
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 1], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.140452"]]
1149
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1150
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1151
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1152
+  (0.0ms) SAVEPOINT active_record_1
1153
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.0030516], ["candidate_duration", 0.00306088], ["speedup_factor", -1.0030410276576223], ["time_delta", -9.280000000000399e-06], ["id", 1]]
1154
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1155
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 1], ["LIMIT", 1]]
1156
+  (0.0ms) SAVEPOINT active_record_1
1157
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.0030516], ["id", 1]]
1158
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1159
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 1], ["LIMIT", 1]]
1160
+  (0.0ms) SAVEPOINT active_record_1
1161
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00306088], ["id", 2]]
1162
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1163
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1164
+  (0.0ms) SAVEPOINT active_record_1
1165
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["speedup_factor", 2.000029104455892], ["created_at", "2019-08-22 20:52:06.148044"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 9.999785106629133e-07]]
1166
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.148904"]]
1167
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 2], ["name", "candidate"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.149669"]]
1168
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1169
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1170
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1171
+  (0.1ms) SAVEPOINT active_record_1
1172
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000261548], ["candidate_duration", 0.00220928], ["speedup_factor", -8.446938993989631], ["time_delta", -0.0019477320000000002], ["id", 2]]
1173
+  (0.1ms) RELEASE SAVEPOINT active_record_1
1174
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 2], ["LIMIT", 1]]
1175
+  (0.0ms) SAVEPOINT active_record_1
1176
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000261548], ["id", 3]]
1177
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1178
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 2], ["LIMIT", 1]]
1179
+  (0.0ms) SAVEPOINT active_record_1
1180
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00220928], ["id", 4]]
1181
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1182
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1183
+  (0.0ms) SAVEPOINT active_record_1
1184
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.00000761449337e-06], ["speedup_factor", -2.000029104455892], ["created_at", "2019-08-22 20:52:06.157834"], ["control_duration", 9.999785106629133e-07], ["candidate_duration", 1.9999861251562834e-06]]
1185
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "control"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.158662"]]
1186
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 3], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.159383"]]
1187
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1188
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1189
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1190
+  (0.0ms) SAVEPOINT active_record_1
1191
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000781327], ["candidate_duration", 0.00279742], ["speedup_factor", -3.5803447212242765], ["time_delta", -0.002016093], ["id", 3]]
1192
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1193
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 3], ["LIMIT", 1]]
1194
+  (0.0ms) SAVEPOINT active_record_1
1195
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000781327], ["id", 5]]
1196
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1197
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 3], ["LIMIT", 1]]
1198
+  (0.0ms) SAVEPOINT active_record_1
1199
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00279742], ["id", 6]]
1200
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1201
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1202
+  (0.0ms) SAVEPOINT active_record_1
1203
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.0000367183238268e-06], ["speedup_factor", -2.0000582089117844], ["created_at", "2019-08-22 20:52:06.166061"], ["control_duration", 9.999785106629133e-07], ["candidate_duration", 2.00001522898674e-06]]
1204
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "control"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.166858"]]
1205
+ SQL (0.2ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 4], ["name", "candidate"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.167570"]]
1206
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1207
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1208
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1209
+  (0.0ms) SAVEPOINT active_record_1
1210
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.00201508], ["candidate_duration", 0.002386], ["speedup_factor", -1.1840720963931954], ["time_delta", -0.0003709200000000003], ["id", 4]]
1211
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1212
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 4], ["LIMIT", 1]]
1213
+  (0.0ms) SAVEPOINT active_record_1
1214
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00201508], ["id", 7]]
1215
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1216
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 4], ["LIMIT", 1]]
1217
+  (0.0ms) SAVEPOINT active_record_1
1218
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.002386], ["id", 8]]
1219
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1220
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1221
+  (0.0ms) SAVEPOINT active_record_1
1222
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 2.00001522898674e-06], ["created_at", "2019-08-22 20:52:06.176122"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 0.0]]
1223
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.176956"]]
1224
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 5], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.177774"]]
1225
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1226
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1227
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1228
+  (0.0ms) SAVEPOINT active_record_1
1229
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000593603], ["candidate_duration", 0.00275979], ["speedup_factor", -4.6492184170228255], ["time_delta", -0.002166187], ["id", 5]]
1230
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1231
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 5], ["LIMIT", 1]]
1232
+  (0.0ms) SAVEPOINT active_record_1
1233
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000593603], ["id", 9]]
1234
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1235
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 5], ["LIMIT", 1]]
1236
+  (0.0ms) SAVEPOINT active_record_1
1237
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00275979], ["id", 10]]
1238
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1239
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1240
+  (0.0ms) SAVEPOINT active_record_1
1241
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:06.184648"], ["control_duration", 0.0], ["candidate_duration", 1.9999861251562834e-06]]
1242
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 6], ["name", "control"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.185457"]]
1243
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 6], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.186225"]]
1244
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1245
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1246
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1247
+  (0.0ms) SAVEPOINT active_record_1
1248
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000259521], ["candidate_duration", 0.0021131], ["speedup_factor", -8.142308329576412], ["time_delta", -0.0018535790000000002], ["id", 6]]
1249
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1250
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 6], ["LIMIT", 1]]
1251
+  (0.0ms) SAVEPOINT active_record_1
1252
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000259521], ["id", 11]]
1253
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1254
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 6], ["LIMIT", 1]]
1255
+  (0.0ms) SAVEPOINT active_record_1
1256
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.0021131], ["id", 12]]
1257
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1258
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1259
+  (0.0ms) SAVEPOINT active_record_1
1260
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.0000367183238268e-06], ["speedup_factor", 2.0000582089117844], ["created_at", "2019-08-22 20:52:06.192646"], ["control_duration", 2.00001522898674e-06], ["candidate_duration", 9.999785106629133e-07]]
1261
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 7], ["name", "control"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.193384"]]
1262
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 7], ["name", "candidate"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.194046"]]
1263
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1264
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1265
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1266
+  (0.0ms) SAVEPOINT active_record_1
1267
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000673067], ["candidate_duration", 0.00250636], ["speedup_factor", -3.7237897564432667], ["time_delta", -0.0018332930000000002], ["id", 7]]
1268
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1269
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 7], ["LIMIT", 1]]
1270
+  (0.0ms) SAVEPOINT active_record_1
1271
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000673067], ["id", 13]]
1272
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1273
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 7], ["LIMIT", 1]]
1274
+  (0.0ms) SAVEPOINT active_record_1
1275
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00250636], ["id", 14]]
1276
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1277
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1278
+  (0.0ms) SAVEPOINT active_record_1
1279
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["created_at", "2019-08-22 20:52:06.199941"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 0.0]]
1280
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 8], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.200870"]]
1281
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 8], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.201583"]]
1282
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1283
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1284
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1285
+  (0.0ms) SAVEPOINT active_record_1
1286
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.00229586], ["candidate_duration", 0.00285059], ["speedup_factor", -1.2416218758983564], ["time_delta", -0.0005547300000000002], ["id", 8]]
1287
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1288
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 8], ["LIMIT", 1]]
1289
+  (0.0ms) SAVEPOINT active_record_1
1290
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00229586], ["id", 15]]
1291
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1292
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 8], ["LIMIT", 1]]
1293
+  (0.0ms) SAVEPOINT active_record_1
1294
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00285059], ["id", 16]]
1295
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1296
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1297
+  (0.0ms) SAVEPOINT active_record_1
1298
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -9.999785106629133e-07], ["speedup_factor", -1.9999708963911524], ["created_at", "2019-08-22 20:52:06.207716"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.9999861251562834e-06]]
1299
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 9], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.208413"]]
1300
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 9], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.209029"]]
1301
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1302
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1303
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1304
+  (0.0ms) SAVEPOINT active_record_1
1305
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.002911], ["candidate_duration", 0.00275513], ["speedup_factor", 1.0565744629110059], ["time_delta", 0.0001558699999999998], ["id", 9]]
1306
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1307
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 9], ["LIMIT", 1]]
1308
+  (0.0ms) SAVEPOINT active_record_1
1309
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.002911], ["id", 17]]
1310
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1311
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 9], ["LIMIT", 1]]
1312
+  (0.0ms) SAVEPOINT active_record_1
1313
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00275513], ["id", 18]]
1314
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1315
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1316
+  (0.0ms) SAVEPOINT active_record_1
1317
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -9.999785106629133e-07], ["speedup_factor", -1.9999708963911524], ["created_at", "2019-08-22 20:52:06.214911"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.9999861251562834e-06]]
1318
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 10], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.215594"]]
1319
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 10], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.216206"]]
1320
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1321
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1322
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1323
+  (0.0ms) SAVEPOINT active_record_1
1324
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.00275274], ["candidate_duration", 0.00251802], ["speedup_factor", 1.0932160983629995], ["time_delta", 0.0002347199999999999], ["id", 10]]
1325
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1326
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 10], ["LIMIT", 1]]
1327
+  (0.0ms) SAVEPOINT active_record_1
1328
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00275274], ["id", 19]]
1329
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1330
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 10], ["LIMIT", 1]]
1331
+  (0.0ms) SAVEPOINT active_record_1
1332
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00251802], ["id", 20]]
1333
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1334
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1335
+  (0.0ms) SAVEPOINT active_record_1
1336
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.0000367183238268e-06], ["speedup_factor", -2.0000582089117844], ["created_at", "2019-08-22 20:52:06.222437"], ["control_duration", 9.999785106629133e-07], ["candidate_duration", 2.00001522898674e-06]]
1337
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 11], ["name", "control"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.223132"]]
1338
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 11], ["name", "candidate"], ["duration", 2.00001522898674e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.223736"]]
1339
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1340
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1341
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1342
+  (0.0ms) SAVEPOINT active_record_1
1343
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000236285], ["candidate_duration", 0.00198174], ["speedup_factor", -8.387074930698098], ["time_delta", -0.0017454550000000001], ["id", 11]]
1344
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1345
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 11], ["LIMIT", 1]]
1346
+  (0.0ms) SAVEPOINT active_record_1
1347
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000236285], ["id", 21]]
1348
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1349
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 11], ["LIMIT", 1]]
1350
+  (0.0ms) SAVEPOINT active_record_1
1351
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00198174], ["id", 22]]
1352
+  (0.1ms) RELEASE SAVEPOINT active_record_1
1353
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1354
+  (0.0ms) SAVEPOINT active_record_1
1355
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 9.999785106629133e-07], ["speedup_factor", 1.9999708963911524], ["created_at", "2019-08-22 20:52:06.229419"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 1.00000761449337e-06]]
1356
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 12], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.230177"]]
1357
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 12], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.230798"]]
1358
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1359
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1360
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1361
+  (0.0ms) SAVEPOINT active_record_1
1362
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000225291], ["candidate_duration", 0.00257419], ["speedup_factor", -11.426066731471742], ["time_delta", -0.002348899], ["id", 12]]
1363
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1364
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 12], ["LIMIT", 1]]
1365
+  (0.0ms) SAVEPOINT active_record_1
1366
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000225291], ["id", 23]]
1367
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1368
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 12], ["LIMIT", 1]]
1369
+  (0.0ms) SAVEPOINT active_record_1
1370
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00257419], ["id", 24]]
1371
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1372
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1373
+  (0.0ms) SAVEPOINT active_record_1
1374
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -9.999785106629133e-07], ["created_at", "2019-08-22 20:52:06.237052"], ["control_duration", 0.0], ["candidate_duration", 9.999785106629133e-07]]
1375
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 13], ["name", "control"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.237780"]]
1376
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 13], ["name", "candidate"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.238387"]]
1377
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1378
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1379
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1380
+  (0.0ms) SAVEPOINT active_record_1
1381
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000356831], ["candidate_duration", 0.00244557], ["speedup_factor", -6.853580546533234], ["time_delta", -0.002088739], ["id", 13]]
1382
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1383
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 13], ["LIMIT", 1]]
1384
+  (0.0ms) SAVEPOINT active_record_1
1385
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000356831], ["id", 25]]
1386
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1387
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 13], ["LIMIT", 1]]
1388
+  (0.0ms) SAVEPOINT active_record_1
1389
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00244557], ["id", 26]]
1390
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1391
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1392
+  (0.0ms) SAVEPOINT active_record_1
1393
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["created_at", "2019-08-22 20:52:06.250851"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 0.0]]
1394
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 14], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.251588"]]
1395
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 14], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.252553"]]
1396
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1397
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1398
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1399
+  (0.0ms) SAVEPOINT active_record_1
1400
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000287118], ["candidate_duration", 0.00248476], ["speedup_factor", -8.654142199374473], ["time_delta", -0.002197642], ["id", 14]]
1401
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1402
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 14], ["LIMIT", 1]]
1403
+  (0.0ms) SAVEPOINT active_record_1
1404
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000287118], ["id", 27]]
1405
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1406
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 14], ["LIMIT", 1]]
1407
+  (0.0ms) SAVEPOINT active_record_1
1408
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00248476], ["id", 28]]
1409
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1410
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1411
+  (0.0ms) SAVEPOINT active_record_1
1412
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 0.0], ["speedup_factor", 0.0], ["created_at", "2019-08-22 20:52:06.258421"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 1.00000761449337e-06]]
1413
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 15], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.259111"]]
1414
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 15], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.259717"]]
1415
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1416
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1417
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1418
+  (0.0ms) SAVEPOINT active_record_1
1419
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.000556486], ["candidate_duration", 0.00261352], ["speedup_factor", -4.696470351455382], ["time_delta", -0.0020570339999999997], ["id", 15]]
1420
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1421
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 15], ["LIMIT", 1]]
1422
+  (0.0ms) SAVEPOINT active_record_1
1423
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.000556486], ["id", 29]]
1424
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1425
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 15], ["LIMIT", 1]]
1426
+  (0.0ms) SAVEPOINT active_record_1
1427
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00261352], ["id", 30]]
1428
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1429
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1430
+  (0.0ms) SAVEPOINT active_record_1
1431
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 1.00000761449337e-06], ["created_at", "2019-08-22 20:52:06.265538"], ["control_duration", 1.00000761449337e-06], ["candidate_duration", 0.0]]
1432
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 16], ["name", "control"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.266196"]]
1433
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 16], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.266784"]]
1434
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1435
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1436
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1437
+  (0.0ms) SAVEPOINT active_record_1
1438
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.00237066], ["candidate_duration", 0.00265087], ["speedup_factor", -1.1181991512912015], ["time_delta", -0.0002802099999999999], ["id", 16]]
1439
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1440
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 16], ["LIMIT", 1]]
1441
+  (0.0ms) SAVEPOINT active_record_1
1442
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00237066], ["id", 31]]
1443
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1444
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 16], ["LIMIT", 1]]
1445
+  (0.0ms) SAVEPOINT active_record_1
1446
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00265087], ["id", 32]]
1447
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1448
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1449
+  (0.0ms) SAVEPOINT active_record_1
1450
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", -1.9999861251562834e-06], ["created_at", "2019-08-22 20:52:06.272956"], ["control_duration", 0.0], ["candidate_duration", 1.9999861251562834e-06]]
1451
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 17], ["name", "control"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.273643"]]
1452
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 17], ["name", "candidate"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.274234"]]
1453
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1454
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1455
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1456
+  (0.0ms) SAVEPOINT active_record_1
1457
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.00183386], ["candidate_duration", 0.00211302], ["speedup_factor", -1.1522253607145585], ["time_delta", -0.0002791600000000001], ["id", 17]]
1458
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1459
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 17], ["LIMIT", 1]]
1460
+  (0.0ms) SAVEPOINT active_record_1
1461
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00183386], ["id", 33]]
1462
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1463
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 17], ["LIMIT", 1]]
1464
+  (0.0ms) SAVEPOINT active_record_1
1465
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00211302], ["id", 34]]
1466
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1467
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1468
+  (0.0ms) SAVEPOINT active_record_1
1469
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 9.999785106629133e-07], ["created_at", "2019-08-22 20:52:06.279711"], ["control_duration", 9.999785106629133e-07], ["candidate_duration", 0.0]]
1470
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 18], ["name", "control"], ["duration", 9.999785106629133e-07], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.280358"]]
1471
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 18], ["name", "candidate"], ["duration", 0.0], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.280951"]]
1472
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1473
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1474
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1475
+  (0.0ms) SAVEPOINT active_record_1
1476
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.00296087], ["candidate_duration", 0.00294441], ["speedup_factor", 1.0055902540746702], ["time_delta", 1.6459999999999825e-05], ["id", 18]]
1477
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1478
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 18], ["LIMIT", 1]]
1479
+  (0.0ms) SAVEPOINT active_record_1
1480
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00296087], ["id", 35]]
1481
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1482
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 18], ["LIMIT", 1]]
1483
+  (0.0ms) SAVEPOINT active_record_1
1484
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00294441], ["id", 36]]
1485
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1486
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."name" = ? LIMIT ? [["name", "wibble"], ["LIMIT", 1]]
1487
+  (0.0ms) SAVEPOINT active_record_1
1488
+ SQL (0.1ms) INSERT INTO "lab_tech_results" ("experiment_id", "context", "equivalent", "time_delta", "speedup_factor", "created_at", "control_duration", "candidate_duration") VALUES (?, ?, ?, ?, ?, ?, ?, ?) [["experiment_id", 1], ["context", "--- {}\n"], ["equivalent", "t"], ["time_delta", 9.999785106629133e-07], ["speedup_factor", 1.9999708963911524], ["created_at", "2019-08-22 20:52:06.286708"], ["control_duration", 1.9999861251562834e-06], ["candidate_duration", 1.00000761449337e-06]]
1489
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 19], ["name", "control"], ["duration", 1.9999861251562834e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.287489"]]
1490
+ SQL (0.1ms) INSERT INTO "lab_tech_observations" ("result_id", "name", "duration", "value", "created_at") VALUES (?, ?, ?, ?, ?) [["result_id", 19], ["name", "candidate"], ["duration", 1.00000761449337e-06], ["value", "--- foo\n"], ["created_at", "2019-08-22 20:52:06.288114"]]
1491
+ SQL (0.1ms) UPDATE "lab_tech_experiments" SET "equivalent_count" = COALESCE("equivalent_count", 0) + 1 WHERE "lab_tech_experiments"."id" = ? [["id", 1]]
1492
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1493
+ LabTech::Result Load (0.1ms) SELECT "lab_tech_results".* FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? ORDER BY "lab_tech_results"."id" DESC LIMIT ? [["experiment_id", 1], ["LIMIT", 1]]
1494
+  (0.0ms) SAVEPOINT active_record_1
1495
+ SQL (0.1ms) UPDATE "lab_tech_results" SET "control_duration" = ?, "candidate_duration" = ?, "speedup_factor" = ?, "time_delta" = ? WHERE "lab_tech_results"."id" = ? [["control_duration", 0.00031988], ["candidate_duration", 0.00323599], ["speedup_factor", -10.116262348380642], ["time_delta", -0.00291611], ["id", 19]]
1496
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1497
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name = 'control') LIMIT ? [["result_id", 19], ["LIMIT", 1]]
1498
+  (0.0ms) SAVEPOINT active_record_1
1499
+ SQL (0.0ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00031988], ["id", 37]]
1500
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1501
+ LabTech::Observation Load (0.1ms) SELECT "lab_tech_observations".* FROM "lab_tech_observations" WHERE "lab_tech_observations"."result_id" = ? AND (name != 'control') ORDER BY "lab_tech_observations"."id" ASC LIMIT ? [["result_id", 19], ["LIMIT", 1]]
1502
+  (0.0ms) SAVEPOINT active_record_1
1503
+ SQL (0.1ms) UPDATE "lab_tech_observations" SET "duration" = ? WHERE "lab_tech_observations"."id" = ? [["duration", 0.00323599], ["id", 38]]
1504
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1505
+ LabTech::Experiment Load (0.0ms) SELECT "lab_tech_experiments".* FROM "lab_tech_experiments" WHERE "lab_tech_experiments"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]]
1506
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1507
+  (0.0ms) SAVEPOINT active_record_1
1508
+  (0.0ms) SELECT MIN("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1509
+  (0.0ms) SELECT MAX("lab_tech_results"."created_at") FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1510
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? [["experiment_id", 1]]
1511
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
1512
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "f"]]
1513
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class = "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
1514
+  (0.1ms) SELECT COUNT(*) FROM "lab_tech_results" INNER JOIN "lab_tech_observations" ON "lab_tech_observations"."result_id" = "lab_tech_results"."id" AND (name != 'control') WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? AND (lab_tech_observations.exception_class != "Timeout::Error") [["experiment_id", 1], ["equivalent", "f"], ["raised_error", "t"]]
1515
+  (0.0ms) SELECT "lab_tech_results"."time_delta", "lab_tech_results"."speedup_factor" FROM "lab_tech_results" WHERE "lab_tech_results"."experiment_id" = ? AND "lab_tech_results"."equivalent" = ? AND "lab_tech_results"."raised_error" = ? [["experiment_id", 1], ["equivalent", "t"], ["raised_error", "f"]]
1516
+  (0.0ms) RELEASE SAVEPOINT active_record_1
1517
+  (0.7ms) rollback transaction
1518
+  (0.0ms) begin transaction
1519
+  (0.0ms) rollback transaction