AQS Pageviews 2.0 merge requestshttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests2021-08-20T16:29:35Zhttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/1Importing Go service scaffolding2021-08-20T16:29:35ZFgoodwinImporting Go service scaffoldingCopying files from service-scaffold-golangCopying files from service-scaffold-golanghttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/2minor build fixes2021-08-27T10:31:18ZEevansminor build fixesVarious (smallish) fixes.
Bug: T288160Various (smallish) fixes.
Bug: T288160https://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/3Draft: connecting to Cassandra2021-10-15T16:11:49ZFgoodwinDraft: connecting to Cassandrahttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/4Perarticle2021-10-07T19:10:37ZFgoodwinPerarticlehttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/5adding tests2021-10-20T14:39:24ZFgoodwinadding testsThis PR only contain pageviews_test.go to avoid conflicts, but I haven't been able to find the problem yet by logging in pageviews.go.This PR only contain pageviews_test.go to avoid conflicts, but I haven't been able to find the problem yet by logging in pageviews.go.https://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/6Cassandra2021-10-20T18:56:58ZClarakosiCassandrahttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/7style improvements2021-11-02T21:16:41ZFgoodwinstyle improvementsreadability changes to pageviews endpointreadability changes to pageviews endpointhttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/8Build improvements2021-11-02T22:07:50ZEevansBuild improvementsRelocates the Docker-ized development environment to `docker/`, and implements a `Makefile` target for formatters/linters.Relocates the Docker-ized development environment to `docker/`, and implements a `Makefile` target for formatters/linters.EevansEevanshttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/9changes pageviews to perArticle2021-11-04T21:15:58ZFgoodwinchanges pageviews to perArticlehttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/10Small fixes2021-11-15T19:21:00ZFgoodwinSmall fixesDeleting files, finishing conversion to pageviewsDeleting files, finishing conversion to pageviewshttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/11Minor nits & fixes2021-11-15T20:09:06ZEevansMinor nits & fixes- Rename executable
- More reasonable configuration defaults
- Update module dependencies (ala `go mod tidy`)
- Rename test function- Rename executable
- More reasonable configuration defaults
- Update module dependencies (ala `go mod tidy`)
- Rename test functionhttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/12per project2022-03-08T16:14:20ZFgoodwinper projectThis set adds an endpoint to metrics/pageviews/aggregate that delivers per-project data.This set adds an endpoint to metrics/pageviews/aggregate that delivers per-project data.https://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/13fix granularity error2021-11-23T20:41:19ZFgoodwinfix granularity errorPrevious per-article code accepts granularity of "daily" and "weekly"-- this set accepts granularity of "daily" and "monthly" to comply with AQS specsPrevious per-article code accepts granularity of "daily" and "weekly"-- this set accepts granularity of "daily" and "monthly" to comply with AQS specshttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/14Fix timestamp handling2021-12-10T20:16:05ZEevansFix timestamp handlingWhen querying for a range of strings, 20190101 is *not* equivalent to 2019010100, which is why
you should use a `timestamp` type when the type is...well timestamp. Friends don't let friends
implement bespoke timestamp semantics with str...When querying for a range of strings, 20190101 is *not* equivalent to 2019010100, which is why
you should use a `timestamp` type when the type is...well timestamp. Friends don't let friends
implement bespoke timestamp semantics with strings.EevansEevanshttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/15Format response2022-01-19T15:35:27ZFgoodwinFormat responseWraps the per article data in an "items" struct in accordance with RESTbase AQSWraps the per article data in an "items" struct in accordance with RESTbase AQShttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/16adding top endpoint2022-02-08T20:49:55ZFgoodwinadding top endpointAs written, this returns the results, but is there a more elegant way to get the articlesJSON data?As written, this returns the results, but is there a more elegant way to get the articlesJSON data?https://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/17Update response format2022-01-19T14:14:23ZEevansUpdate response formatWrap results array in an `items` attribute, as it is in the production API.
This is an alternative to: [merge_requests/15](https://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/15)Wrap results array in an `items` attribute, as it is in the production API.
This is an alternative to: [merge_requests/15](https://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/15)EevansEevanshttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/18Draft: Proof-of-concept Javascript integration tests2022-01-28T20:35:47ZEevansDraft: Proof-of-concept Javascript integration testsAs discussed in our Thursday standup, here is an example of how Javascript integration tests might look.
Comments welcome!As discussed in our Thursday standup, here is an example of how Javascript integration tests might look.
Comments welcome!EevansEevanshttps://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/19Draft: golang integration tests?2022-01-28T20:35:53ZFgoodwinDraft: golang integration tests?Golang package httptest includes an http server. Could this work for integration testing, if we wanted to do them in Go?Golang package httptest includes an http server. Could this work for integration testing, if we wanted to do them in Go?https://gitlab.wikimedia.org/eevans/pageviews/-/merge_requests/20Draft: Fixes to httptest Server-based approach2022-01-28T20:35:59ZEevansDraft: Fixes to httptest Server-based approachThere were a couple of things that prevented this from working:
1. `httprouter` still needs to be invoked to do its magic (e.g. to populate Params)
2. Client connections need to use the URL retured by `httptest.Newserver`There were a couple of things that prevented this from working:
1. `httprouter` still needs to be invoked to do its magic (e.g. to populate Params)
2. Client connections need to use the URL retured by `httptest.Newserver`EevansEevans