witty-laptop-42616
05/21/2022, 4:08 PMquaint-alligator-93321
05/23/2022, 1:13 PMsetForcedFeatures
method, but I’m also interested in experiment forcing and not just a feature.busy-horse-73824
05/23/2022, 1:28 PMbrainy-addition-11488
05/24/2022, 8:36 AMline 59:5: Column 'dimension' cannot be resolved
and here is my query:
-- test_metric_trino (binomial)
WITH __rawExperiment as (
SELECT
user_id as user_id,
timestamp as timestamp,
experiment_id as experiment_id,
variation_id as variation_id
FROM
hive.experiments.viewed_experiment
),
__experiment as (
-- Viewed Experiment
SELECT
e.user_id as user_id,
cast(e.variation_id as varchar) as variation,
e.timestamp as conversion_start,
e.timestamp + INTERVAL '72' hour as conversion_end
FROM
__rawExperiment e
WHERE
e.experiment_id = 'test_trino2'
AND e.timestamp >= from_iso8601_timestamp('2022-05-24T075900.000Z')
),
__metric as (
-- Metric (test_metric_trino)
SELECT
user_id as user_id,
1 as value,
m.timestamp as conversion_start,
m.timestamp as conversion_end
FROM
(
SELECT
user_id,
occurrence_timestamp as timestamp
FROM
hive.khabarchin.action_event
WHERE
event_id = 74
) m
WHERE
m.timestamp >= from_iso8601_timestamp('2022-05-24T075900.000Z')
),
__distinctUsers as (
-- One row per user/dimension
SELECT
e.user_id,
'All' as dimension,
(
CASE
WHEN count(distinct e.variation) > 1 THEN '__multiple__'
ELSE max(e.variation) END
) as variation,
MIN(e.conversion_start) as conversion_start,
MIN(e.conversion_end) as conversion_end
FROM
__experiment e
GROUP BY
dimension,
e.user_id
),
__userMetric as (
-- Add in the aggregate metric value for each user
SELECT
d.variation,
d.dimension,
1 as value
FROM
__distinctUsers d
JOIN __metric m ON (m.user_id = d.user_id)
WHERE
m.conversion_start >= d.conversion_start
AND m.conversion_start <= d.conversion_end
GROUP BY
variation,
dimension,
d.user_id
),
__overallUsers as (
-- Number of users in each variation
SELECT
variation,
dimension,
COUNT(*) as users
FROM
__distinctUsers
GROUP BY
variation,
dimension
),
__stats as (
-- Sum all user metrics together to get a total per variation/dimension
SELECT
variation,
dimension,
COUNT(*) as count,
AVG(value) as mean,
STDDEV(value) as stddev
FROM
__userMetric
GROUP BY
variation,
dimension
)
SELECT
s.variation,
s.dimension,
s.count,
s.mean,
s.stddev,
u.users
FROM
__stats s
JOIN __overallUsers u ON (
s.variation = u.variation
AND s.dimension = u.dimension
)fierce-car-86087
05/24/2022, 11:14 AMaloof-family-54295
05/24/2022, 3:27 PMwitty-pillow-79680
05/24/2022, 4:26 PMuseEffect
in the image, json
on line 194 is undefined. Hence, line 196 also failed since json
is undefined.
Is the undefiend json expected? If not, what would I need to do to resolve that? Than kyou.blue-ghost-765
05/24/2022, 5:22 PMarchive
features. So you have a record of every feature. This would obviously be a logical delete, and the full delete is to get rid of any unnecessary junk.red-oxygen-69265
05/24/2022, 8:21 PMAuthenticationFailed
on backend connecting to mongodb.
I am using this on kubernetes using this helm chart by @adventurous-vase-72101. I checked MONGODB_ROOT_PASSWORD
env var for mongodb is same as what we use in MONGODB_URI
. has there been any change in growthbook/growthbook:latest
image?eager-camera-84109
05/25/2022, 2:32 PMfresh-football-47124
fresh-yacht-99561
05/26/2022, 2:13 PMblue-ghost-765
05/29/2022, 2:35 AMblue-ghost-765
05/30/2022, 10:26 PMwitty-pillow-79680
05/31/2022, 2:17 PMbrash-fireman-45530
06/01/2022, 12:28 PMalert-needle-35015
06/02/2022, 7:50 AMfaint-airplane-8152
06/02/2022, 9:33 PMnice-painting-14163
06/03/2022, 6:44 AMnice-painting-14163
06/03/2022, 6:45 AMyarn run v1.22.19
$ wsrun -p '*-end' -m start
back-end
| $ node dist/server.js
front-end
| $ next start
| ready - started server on 0.0.0.0:3000, url: <http://localhost:3000>
| info - Using webpack 5. Reason: no next.config.js <https://nextjs.org/docs/messages/webpack5>
back-end
| No config.yml file. Using MongoDB instead to store data sources, metrics, and dimensions.
| Back-end is running at <http://localhost:3100> in development mode
| Press CTRL-C to stop
|
| MongooseServerSelectionError: getaddrinfo ENOTFOUND mongo
| at NativeConnection.Connection.openUri (/usr/local/src/app/node_modules/mongoose/lib/connection.js:847:32)
| at /usr/local/src/app/node_modules/mongoose/lib/index.js:351:10
| at /usr/local/src/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:32:5
| at Promise._execute (/usr/local/src/app/node_modules/bluebird/js/release/debuggability.js:384:9)
| at Promise._resolveFromExecutor (/usr/local/src/app/node_modules/bluebird/js/release/promise.js:518:18)
| at new Promise (/usr/local/src/app/node_modules/bluebird/js/release/promise.js:103:10)
| at promiseOrCallback (/usr/local/src/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:31:10)
| at Mongoose._promiseOrCallback (/usr/local/src/app/node_modules/mongoose/lib/index.js:1149:10)
| at Mongoose.connect (/usr/local/src/app/node_modules/mongoose/lib/index.js:350:20)
| at /usr/local/src/app/packages/back-end/dist/init/mongo.js:26:41
| at Generator.next (<anonymous>)
| at /usr/local/src/app/packages/back-end/dist/init/mongo.js:8:71
| at new Promise (<anonymous>)
| at __awaiter (/usr/local/src/app/packages/back-end/dist/init/mongo.js:4:12)
| at Object.exports.default (/usr/local/src/app/packages/back-end/dist/init/mongo.js:19:25)
| at /usr/local/src/app/packages/back-end/dist/app.js:102:38
| at Generator.next (<anonymous>)
| at /usr/local/src/app/packages/back-end/dist/app.js:27:71
| at new Promise (<anonymous>)
| at __awaiter (/usr/local/src/app/packages/back-end/dist/app.js:23:12)
| at /usr/local/src/app/packages/back-end/dist/app.js:101:34
| at /usr/local/src/app/packages/back-end/dist/app.js:104:16 {
| reason: TopologyDescription {
| type: 'Single',
| setName: null,
| maxSetVersion: null,
| maxElectionId: null,
| servers: Map(1) { 'mongo:27017' => [ServerDescription] },
| stale: false,
| compatible: true,
| compatibilityError: null,
| logicalSessionTimeoutMinutes: null,
| heartbeatFrequencyMS: 10000,
| localThresholdMS: 15,
| commonWireVersion: null
| }
| }
| Error: MongoDB connection error.
| at /usr/local/src/app/packages/back-end/dist/init/mongo.js:34:15
| at Generator.throw (<anonymous>)
| at rejected (/usr/local/src/app/packages/back-end/dist/init/mongo.js:6:65)
| error Command failed with exit code 1.
| info Visit <https://yarnpkg.com/en/docs/cli/run> for documentation about this command.
| `yarn start` failed with exit code 1
silly-dinner-68354
06/03/2022, 6:58 AMsetAttributes
will be reflected. We ended up using a stable unique-per-device identifier as the user ID, but it makes LD pretty unpleasant to use.
Is this something GrowthBook has come across? Do other people handle this situation differently? Would really appreciate any battle stories. 🙂billions-notebook-35829
06/03/2022, 1:32 PMsilly-terabyte-51215
06/03/2022, 7:58 PMbored-forest-47521
06/03/2022, 7:59 PMuser_id
and user_pseudo_id
identifier set up. It looks like the import is failing because the query that's auto-generated by GrowthBook to pull in experiment data has subbed in the user_pseudo_id
name in the wrong spot. See thread for more details.nice-painting-14163
06/06/2022, 7:30 AMhandsome-library-89124
06/06/2022, 12:24 PMinExperiment: true,
variationId: 1,
value: 'TEST_VAL_2',
hashAttribute: 'id',
hashValue: '333'
Does these information store in DB?polite-pillow-33171
06/06/2022, 7:05 PMsuspicious result
warning to still allow the actual % change? I totally understand not wanting to encourage making decisions based on faulty data, but just raising warning makes the user feel stuck in not being able to see how the numbers may be too unrealistic. It’s like saying “something is wrong here” without helping the person see what may seem wrongswift-beach-91166
06/07/2022, 6:37 AMexport const getServerSideProps= async ()=>{
const gbFeatures= await fetchGrowthbookFeatures();
return {
gbFeatures
}
}
On my _app.tsx
I did something or of sort
const growthbook = useMemo(()=>{
return new Growthbook({
features: pageProps?.gbFeatures?.features,
attributes: ....// we can set them here as well
})
},[pageProps])
useEffect(()=>{
if( pageProps?.gbFeatures) return ; // since SSR handled it
fetch('apiendpoint').then()//// the usual client approach as per doc
},[growthbook, pageProps?.gbFeatures?])
<GrowthbookProvider growthbook={growthbook}>{children}</GrowthbookProvider>
Any thoughts on this? Happy to contribute and raise a PR..lively-fountain-60753
06/07/2022, 1:11 PMfresh-tailor-1332
06/07/2022, 3:59 PM