Community web app for COMOPOLO, based on the open source El Dorado
Official Docker image for Elixir :whale: :turtle: :rocket:
configuration files
Arduino powered countdown timer for bike polo
GraphQL for Elixir
Plug support for Absinthe
Source of absinthe-graphql.org
A Dockerfile based on my alpine-erlang image for Elixir applications
pull request commentabsinthe-graphql/absinthe
Add extend to macro defined schemas
Any news about the issue?
comment created time in 8 hours
issue openedabsinthe-graphql/absinthe_plug
Ability to opt out of batched execution on batch requests
If a developer wants to preserve context when executing a whole document, there needs to be an option to opt out of batched execution.
https://github.com/absinthe-graphql/absinthe_plug/blob/master/lib/absinthe/plug.ex#L508 https://elixir-lang.slack.com/archives/C0PR49P4P/p1624455107364500
created time in 11 hours
pull request commentnewrelic/elixir_agent
Correct categorization of simple select
<br/>Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.<br/><sub>You have signed the CLA already but the status is still pending? Let us recheck it.</sub>
comment created time in 14 hours
PR opened newrelic/elixir_agent
<!-- Thank you for submitting a Pull Request
A quick note: This software lives inside of other software. It is relied upon to monitor critical services.
Because of these unique conditions, our standards for code quality must be high!
- Tests are required!
- Performance really matters!
- Features that are specific to just your app are unlikely to make it in
- Instrumentation particular to a library or framework are probably a better fit for their own package which depends on this Agent.
-->
pr created time in 14 hours
issue openednewrelic/elixir_agent
A simple SELECT query is being categorized wrongly
Describe the bug
We have a very simple SELECT 1 query in our application, called frequently as part of an infrastructural check. Recently it started to be categorized as {:other, :other}, and so it shows up in NR Database page. We would love to have it categorized as a SELECT.
I managed to replicate the behavior in a standalone exs script by isolating NewRelic.Telemetry.Ecto.Metadata.parse_query/1 and confirming it returns the {:other, :other} tuple when given the SELECT 1 argument.
(Note: I think it might be enough to have parse_query/2 return {operation, :other} in the _ case, just to not lose the information on the type of operation performed, but don't know enough about the library to know what other effects that would have).
Environment
- Elixir & Erlang version (
elixir -v): Elixir 1.12.1 - Agent version (
mix deps | grep new_relic_agent): 1.27.2
created time in 2 days
issue openedabsinthe-graphql/absinthe
`mix clean` is sometimes required to see changes take effect
Environment
- Elixir version (elixir -v): Erlang/OTP 23 [erts-11.2] [source] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:1] [hipe]
- Absinthe version (mix deps | grep absinthe): absinthe 1.6.4 / absinthe_plug 1.5.8
- Client Framework and version (Relay, Apollo, etc): graphiql
Expected behavior
Changing my types file from field(:id, :id) to field :id, :string do resolve(fn object, _, _ -> {:ok, GlobalId.encode(Spiff.Comment, object.id)} end) end
Sometimes does not register as a change
Actual behavior
id continued to behave as a plain db column until I ran mix clean and restarted. Then it works as expected. Restarting iex on its own is not enough to break the stale cache.
created time in 5 days
issue commentabsinthe-graphql/absinthe
Multiple pushes per client for subscriptions that have a `context_id`
We observe the same behavior and even worse: turning context_id: "global" made messages from adjacent topics leak to the users who weren't subscribed.
comment created time in 6 days
pull request commentabsinthe-graphql/absinthe
These changes look good! Will look at doing a release shortly.
comment created time in 8 days
push eventabsinthe-graphql/absinthe
commit sha 1948513d2103ac68182b64c62c0bf9fc35b96180
Support passing through object scalars (#1069)
push time in 8 days
PR merged absinthe-graphql/absinthe
This adds support for defining open_ended scalars that can recieve arbitrary GQL data. We opted to put this behavior behind a flag so that it is an opt-in feature. This was a necessary feature to support the Federation spec's _Any scalar
pr closed time in 8 days
pull request commentabsinthe-graphql/absinthe
Once this merges can we release it as an RC? I would like to get the absinthe_federation library on hex but it will depend on these changes. I would also like to submit a talk proposal to Elixir conf to talk about federation and those submissions are due July 11th, 2021
comment created time in 8 days
issue commentnewrelic/elixir_agent
Thank you helping me clarify that, I appreciate 🙇!
comment created time in 9 days
issue commentnewrelic/elixir_agent
Add support for "Database" section of APM for Ecto
I definitely didn't expressed that very well, sorry for the confusion.
Yes I do see this information. On the right panel, bellow the "Time consumption by caller" there is a "Slow queries" table which aggregates all slow queries for that entry. On a Ruby application we have, that works as expected - includes many queries and help to find spots where DBEs can work directly.
No Elixir app we have here (and most of them are Elixir) present data on that table, which I assume is not exported by the Agent.
It's more clear what I'm missing from the tool? Sorry again for the confusion! :bow:
comment created time in 9 days
issue commentnewrelic/elixir_agent
Add support for "Database" section of APM for Ecto
The latest, but there is no slow queries on the panel. Maybe it's a flag I didn't activated?
comment created time in 9 days
issue openednewrelic/elixir_agent
Add support for "Database" section of APM for Ecto
<!-- Thanks for your interest in the Elixir Agent
A quick note: This is an open source project, not a New Relic product.
- We want to improve and grow the Agent in ways that can benefit the majority of users
- Features that are specific to just one app are unlikely to make it in
- Instrumentation particular to a library or framework are probably a better fit for their own package which depends on this Agent
-->
Is your feature request related to a problem? Please describe.
Current Agent export database queries, but they are only available as part of the Transaction traces. For other agents, like Ruby, we can also use the "Databases" tab, which includes query entries and can be really useful to diagnose issues in a way that the current support can't.
Describe the solution you'd like
Would be great if Elixir agent exports all data required for that section to work out-of-the-box. There is not specification AFAICT, otherwise we can work together to contribute a patch with that feature support.
Describe alternatives you've considered
Create custom instrumentation around Telemetry. It works, but doesn't integrate with overall NR experience.
created time in 9 days
PR opened absinthe-graphql/absinthe
<!--
Precheck
Thank you for submitting a pull request! Absinthe is a large project, and we really appreciate your help improving it.
Please keep the following in mind as you submit your code; it will help us review, discuss, and merge your PR as quickly as possible.
- Tests are good! Please include them if possible.
- Documentation is good:
- Modules should have a
@moduledoc(may befalse) - Public functions should have a
@doc(may befalse) - Consider checking
/guidesfor documentation that needs to be updated
- Modules should have a
- Specifications are good. Include
@specwhen possible. - Good Git history behavior is good. Don't rebase your PR branch, and make small, focused commits. We generally squash commits on merge for you, unless there is a reason not to (multiple committers on a PR, etc).
- Matching existing code style is good.
We're happy to work with you, providing guidance and assistance where we can, collaborating with you to help your contribution become part of Absinthe. Thanks again!
As always, feel free to reach out for questions/discussion via:
- Our Slack channel (#absinthe-graphql): https://elixir-slackin.herokuapp.com
- The Elixir Forum: https://elixirforum.com
-->
pr created time in 11 days
pull request commentbeam-telemetry/telemetry_poller
Fix disabling of the default poller
Apparently we need to fix CI, probably migrate it to EEF's setup-beam.
comment created time in 12 days
pull request commentbeam-telemetry/telemetry_poller
Fix disabling of the default poller
Would this result in it being automatically disabled for all instances of poller within an app?
Not sure, what you mean, but there can be only one default poller - which is started by the application master. It's still enabled by default, user has to explicitly disable the default poller.
It's not uncommon at all for users to run multiple instances and libraries to include their own instances which could be inadvertently overridden.
That change would not interfere with this. Instances are independent.
comment created time in 12 days
pull request commentbeam-telemetry/telemetry_poller
Fix disabling of the default poller
Do we want to reintroduce this functionality? Would this result in it being automatically disabled for all instances of poller within an app? It's not uncommon at all for users to run multiple instances and libraries to include their own instances which could be inadvertently overridden.
comment created time in 12 days
Pull request review commentbeam-telemetry/telemetry_poller
Fix disabling of the default poller
start(_StartType, _StartArgs) -> PollerOpts = application:get_env(telemetry_poller, default, []),- Default = #{- name => telemetry_poller_default,- measurements => [memory, total_run_queue_lengths, system_counts]- },- FinalOpts = maps:merge(Default, maps:from_list(PollerOpts)),- telemetry_poller_sup:start_link(maps:to_list(FinalOpts)).+ PollerChildSpec =+ case PollerOpts of
case application:get_env(telemetry_poller, default, []) of
?
comment created time in 13 days
Pull request review commentbeam-telemetry/telemetry_poller
Fix disabling of the default poller
start(_StartType, _StartArgs) -> PollerOpts = application:get_env(telemetry_poller, default, []),- Default = #{- name => telemetry_poller_default,- measurements => [memory, total_run_queue_lengths, system_counts]- },- FinalOpts = maps:merge(Default, maps:from_list(PollerOpts)),- telemetry_poller_sup:start_link(maps:to_list(FinalOpts)).+ PollerChildSpec =+ case PollerOpts of+ false ->+ [];+ _Opts ->+ Default = #{+ name =>s telemetry_poller_default,
name => telemetry_poller_default,
comment created time in 13 days
PR opened beam-telemetry/telemetry_poller
Docs state that to disable default poller you need to set app's environment key default to false, but it looks like this functionality was overlooked when translating from Elixir to Erlang. This PR fixes that.
pr created time in 13 days
issue commentabsinthe-graphql/absinthe
Apollo federation is not built in, but I don't see anything standing in the way of someone writing a library that enabled it on top of Absinthe. At this point Absinthe has exposed 100% complete control over how schemas are built, when schemas are built, and how queries are executed.
comment created time in 15 days
issue commentabsinthe-graphql/absinthe
So is it not possible to leverage Apollo Federation while also using Absinthe Elixir ?
Mesh should, at least in principle, be able to add a Federation implementation to an existing nonconforming schema: https://www.graphql-mesh.com/docs/transforms/federation via https://github.com/0xR/graphql-transform-federation
comment created time in 15 days
issue commentabsinthe-graphql/absinthe
@d-led Schema stitching and federation are not the same though
Each system has a unique strategy for combining sub-services:
- Federation services are aware of each other’s data while the gateway is a generic agent that combines them. The gateway configures itself by reading SDLs from each service, and may be reloaded on the fly with new SDLs.
- Stitching services remain unaware of each other while the gateway loads and combines their schemas. Recent development has added SDL annotations that allow stitched schemas to also be reloaded on the fly.
So is it not possible to leverage Apollo Federation while also using Absinthe Elixir ?
comment created time in 15 days
pull request commentbeam-telemetry/telemetry_metrics
:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:
comment created time in 16 days
push eventbeam-telemetry/telemetry_metrics
commit sha b9251aa5d8186f1863ef65d4a9f9e1ea967bdc15
Test use measurement map (#93) This PR tests for using measurement map in the event measurement calculation.
push time in 16 days
PR merged beam-telemetry/telemetry_metrics
This PR tests for using measurement map in the event measurement calculation.
pr closed time in 16 days
PR opened beam-telemetry/telemetry_metrics
This PR tests for using measurement map in the event measurement calculation.
pr created time in 16 days
issue openedabsinthe-graphql/absinthe
default_value for an enum type doesn't work when the enum type is defined with the shorthand syntax
If submitting a bug, please provide the following:
Environment
- Elixir version (elixir -v):
Erlang/OTP 23 [erts-11.2] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [hipe]
Elixir 1.11.4 (compiled with Erlang/OTP 23)
- Absinthe version (mix deps | grep absinthe): 1.6.3
- Client Framework and version (Relay, Apollo, etc): Not relevant as it's a backend bug
Expected behavior
Define an enum type with the shorthand syntax:
enum :example_type, values: [:A, :B, :C]
In the schema, have a field with default value: arg :example, :example_type, default_value: :A.
It should work as expected.
Actual behavior
A compilation error is thrown:
(ArgumentError) you attempted to apply :value on [:A, :B, :C]. If you are using apply/3, make sure the module is an atom. If you are using the dot syntax, such as map.field or module.function(), make sure the left side of the dot is an atom or a map
:erlang.apply([:A, :B, :C], :value, [])
Stacktrace:
│ (absinthe 1.6.3) lib/absinthe/phase/schema/validation/default_enum_value_present.ex:33: anonymous fn/1 in Absinthe.Phase.Schema.Validation.DefaultEnumValuePresent.validate_defaults/2
│ (elixir 1.11.4) lib/enum.ex:1411: Enum."-map/2-lists^map/1-0-"/2
│ (absinthe 1.6.3) lib/absinthe/phase/schema/validation/default_enum_value_present.ex:33: Absinthe.Phase.Schema.Validation.DefaultEnumValuePresent.validate_defaults/2
│ (absinthe 1.6.3) lib/absinthe/blueprint/transform.ex:16: anonymous fn/3 in Absinthe.Blueprint.Transform.prewalk/2
│ (absinthe 1.6.3) lib/absinthe/blueprint/transform.ex:109: Absinthe.Blueprint.Transform.walk/4
│ (elixir 1.11.4) lib/enum.ex:1533: Enum."-map_reduce/3-lists^mapfoldl/2-0-"/3
│ (absinthe 1.6.3) lib/absinthe/blueprint/transform.ex:145: anonymous
I had to change the definition of the enum type like this:
enum :example_type do
value :A
value :B
value :C
end
for it to work, even though it seems that they should mean the exact same thing.
created time in 17 days