These are chat archives for exceptionless/Discuss

11th
Feb 2016
Blake Niemyjski
@niemyjski
Feb 11 2016 02:05 UTC
Yeah that is goofy
Eric J. Smith
@ejsmith
Feb 11 2016 04:09 UTC
Why is it goofy? As soon as you do ? it short circuits and returns null. It's just short hand for:
if (((string)null) != null && ...
Which short circuits and returns null immediately
A?.B.C will return null if A is null it won't throw.
Blake Niemyjski
@niemyjski
Feb 11 2016 04:33 UTC
Yeah
Jamie Clarke
@jamie94bc
Feb 11 2016 08:54 UTC
ah yeah that's a good point! easier to understand the question in the :sunrise: after some :coffee: !
A?.B.C will throw if B is null but will short circuit on A being null - so yeah, that's expected behaviour :clap:
Jamie Clarke
@jamie94bc
Feb 11 2016 09:22 UTC
pushed azure implementations - and also sort of fixed a :bug: causing the service bus tests to fail occasionally
Jamie Clarke
@jamie94bc
Feb 11 2016 09:57 UTC
I think I may have fixed AppVeyor @niemyjski :clap: !
pull requests appear on the master branch so i've added a check to see if it's a pull request before gitlinking
Jamie Clarke
@jamie94bc
Feb 11 2016 10:10 UTC
looks like all the tests are passing - we just need Renew impls for InMemory and Redis now
also if someone wants to tackle auto renewing within the queue job that would be amazing
Jamie Clarke
@jamie94bc
Feb 11 2016 12:59 UTC
if you were wondering about microsoft's attitude to service bus it's still not in the new azure portal
even cloud services made it there ages ago!
Eric J. Smith
@ejsmith
Feb 11 2016 13:28 UTC
@jamie94bc that's awesome! Looks good.
Blake Niemyjski
@niemyjski
Feb 11 2016 13:46 UTC
Good job!
Jamie Clarke
@jamie94bc
Feb 11 2016 14:14 UTC
thanks!
spotted a bug with azure service bus - shall I add the fix to the same PR?
Eric J. Smith
@ejsmith
Feb 11 2016 14:19 UTC
Might as well.
We probably should've broken this up, but that is my fault.
Jamie Clarke
@jamie94bc
Feb 11 2016 14:20 UTC
could do with a develop branch!
Jamie Clarke
@jamie94bc
Feb 11 2016 14:29 UTC
could be difficult to add a test for this without exposing even more things
jamie94bc/Foundatio@062d5e1
Eric J. Smith
@ejsmith
Feb 11 2016 15:20 UTC
could just skip that test for the azure queues I guess.
Blake Niemyjski
@niemyjski
Feb 11 2016 15:26 UTC
yeah
skip it
@jamie94bc really appreciate the help.
Jamie Clarke
@jamie94bc
Feb 11 2016 15:28 UTC
no problem! thanks for the lib :smile:
Blake Niemyjski
@niemyjski
Feb 11 2016 15:38 UTC
pretty excited that the service bus tests are passing now
kinda had me worried
I almost feel like we should run those tests on our ci
crapy thing is those tests create a new topic / queue in azure and never deletes it on teardown
Jamie Clarke
@jamie94bc
Feb 11 2016 15:39 UTC
yeah i just noticed that actually
Blake Niemyjski
@niemyjski
Feb 11 2016 15:39 UTC
so your azure service bus has a crap ton of things
Jamie Clarke
@jamie94bc
Feb 11 2016 15:39 UTC
yup
Blake Niemyjski
@niemyjski
Feb 11 2016 15:39 UTC
yeah I noticed that yesterday
earlier this week actually*
Jamie Clarke
@jamie94bc
Feb 11 2016 15:40 UTC
no way to bulk delete in the portal either
Blake Niemyjski
@niemyjski
Feb 11 2016 15:40 UTC
yeah :(
might want tear down code to remove all of them
could prefix them with test-guid
then remove all by prefix
Jamie Clarke
@jamie94bc
Feb 11 2016 15:46 UTC
cando that yeah
also was wondering why delete queue doesn't actually delete the queue?
it just recreates it
Blake Niemyjski
@niemyjski
Feb 11 2016 15:46 UTC
really
that would be a bug
Jamie Clarke
@jamie94bc
Feb 11 2016 15:46 UTC
public override async Task DeleteQueueAsync() {
            if (await _namespaceManager.QueueExistsAsync(_queueName).AnyContext())
                await _namespaceManager.DeleteQueueAsync(_queueName).AnyContext();

            _queueDescription = new QueueDescription(_queueName) {
                MaxDeliveryCount = _retries + 1,
                LockDuration = _workItemTimeout
            };

            await _namespaceManager.CreateQueueAsync(_queueDescription).AnyContext();

            _enqueuedCount = 0;
            _dequeuedCount = 0;
            _completedCount = 0;
            _abandonedCount = 0;
            _workerErrorCount = 0;
        }
Blake Niemyjski
@niemyjski
Feb 11 2016 15:46 UTC
I guess I haven’t seen that
Jamie Clarke
@jamie94bc
Feb 11 2016 15:46 UTC
from AzureServiceBus
Blake Niemyjski
@niemyjski
Feb 11 2016 15:46 UTC
ah
Jamie Clarke
@jamie94bc
Feb 11 2016 15:47 UTC
it's not really a method that's appropriate for a queue is it?
should be named ClearQueueAsync()
if DeleteQueueAsync() actually deleted, we'd need to check for that on every method
or silently recreate
Blake Niemyjski
@niemyjski
Feb 11 2016 16:08 UTC
well if you delete it you should call create
I think it’s really useful for unit tests
I’d think that _queueDescription = new QueueDescription(_queueName) {
MaxDeliveryCount = _retries + 1,
LockDuration = _workItemTimeout
};
        await _namespaceManager.CreateQueueAsync(_queueDescription).AnyContext();
probably should be moved out
doesn’t belong there
I’m not sure why it was put there
I just checked all the other queues and they delete it and clear the counts
maybe the other ones are just ready to go and recreate themselfs on the fly
so maybe it needs to be lazy
or a flag to recreate it on enqueue
@ejsmith do you remember why this is. I think you wrote this implementation
Eric J. Smith
@ejsmith
Feb 11 2016 16:13 UTC
I’m looking...
I think the idea was just to be able to reset the queues and it was more for testing than anything else.
Blake Niemyjski
@niemyjski
Feb 11 2016 16:14 UTC
yeah
Eric J. Smith
@ejsmith
Feb 11 2016 16:14 UTC
Really should be called ResetQueue
really should be part of a different contract.
not a normal queue operation
Redis resets everything and you can keep inserting.
same for inmemory
Could be Clear too though.
Blake Niemyjski
@niemyjski
Feb 11 2016 16:16 UTC
IQueueManagment or something
Eric J. Smith
@ejsmith
Feb 11 2016 16:17 UTC
yeah, I was going to do that at one point, but didn’t want to take it on right then.
we had our hands full with moving everything to async
I say we need to go ahead and finish up this pull request and get it merged in and then we can look at further improvements.
Blake Niemyjski
@niemyjski
Feb 11 2016 16:18 UTC
ok
Tests are passing
guess the only thing missing is updating the readme
Jamie Clarke
@jamie94bc
Feb 11 2016 16:20 UTC
yeah I was thinking IQueueManager or something
there's something I don't like about making remote calls in constructors
Eric J. Smith
@ejsmith
Feb 11 2016 16:21 UTC
yeah, I agree.
Jamie Clarke
@jamie94bc
Feb 11 2016 16:21 UTC
IQueueManager.CreateQueueAsync(), IQueueManager.DeleteQueueAsync(), IQueueManager.GetQueuesAsync()
Eric J. Smith
@ejsmith
Feb 11 2016 16:21 UTC
but lets finish this thing first
Jamie Clarke
@jamie94bc
Feb 11 2016 16:21 UTC
yeah i agree, this PR is getting way too long and out of scope
Blake Niemyjski
@niemyjski
Feb 11 2016 16:22 UTC
yeah
I think we need to bump the version as well
we changed the azure implementation type names
thoughts?
Yeah, I’m going to bump it to 3.1 or 4.0
what do you guys think
Jamie Clarke
@jamie94bc
Feb 11 2016 16:27 UTC
well if type names were changed it's a breaking change so it should be 4.0 really - unless we forward them
doesn't really feel like a 4.0 though
Blake Niemyjski
@niemyjski
Feb 11 2016 16:27 UTC
yeah
I think a 3.1
sigh
I need to get on the elastic search guys
I needthem to release a new 1.7 client release that targets json.net 8
Eric J. Smith
@ejsmith
Feb 11 2016 16:31 UTC
If you do semantic versioning then any breaking change is a major bump.
Can be a small thing.
We haven't followed that well so far, but we should.
Yes, and they have bugs fixed that I need.
Blake Niemyjski
@niemyjski
Feb 11 2016 16:33 UTC
elastic/elasticsearch-net#1781
comment on that then
can’t update foundatio to 8 until elastic is updated
because of upstream dependencies
upstream is correct right?
foundatio.repos requires json.7
Blake Niemyjski
@niemyjski
Feb 11 2016 16:47 UTC
I’m merging it in
tests pass
wait how the heck do I merge yours into ours?
ah via the command line
Jamie Clarke
@jamie94bc
Feb 11 2016 16:56 UTC
which git gui are you using?
Eric J. Smith
@ejsmith
Feb 11 2016 16:58 UTC
@jamie94bc I think you did a really good job on this feature. Would love to have you join the team.
Jamie Clarke
@jamie94bc
Feb 11 2016 16:59 UTC
thanks - i'd be happy to!
Blake Niemyjski
@niemyjski
Feb 11 2016 17:00 UTC
exceptionless/Foundatio@2d0ad6a
does that look right
Step 1: From your project repository, check out a new branch and test the changes.
git checkout -b jamie94bc-azurestoragequeues master
git pull git://github.com/jamie94bc/Foundatio.git azurestoragequeues
Step 2: Merge the changes and update on GitHub.
git checkout master
git merge --no-ff jamie94bc-azurestoragequeues
git push origin master
I did that, but didn’t pull in your name into it :(
Eric J. Smith
@ejsmith
Feb 11 2016 17:01 UTC
Awesome! Sent invitation.
Jamie Clarke
@jamie94bc
Feb 11 2016 17:01 UTC
we should probably make an issue for adding redis and inmemory support
Eric J. Smith
@ejsmith
Feb 11 2016 17:02 UTC
yes
I am curious what you are using Foundatio for?
Jamie Clarke
@jamie94bc
Feb 11 2016 17:03 UTC
partial rewrite of the backend of https://www.mystudylife.com/
Eric J. Smith
@ejsmith
Feb 11 2016 17:04 UTC
nice website!
that looks really nice
Jamie Clarke
@jamie94bc
Feb 11 2016 17:04 UTC
thanks :smile:
i can't remember how i found foundatio - might have been the blog post about azure web jobs
Eric J. Smith
@ejsmith
Feb 11 2016 17:05 UTC
I am working on an app that MIT is going to be our 1st customer.
What all Foundatio things are you using?
just the queues?
Blake Niemyjski
@niemyjski
Feb 11 2016 17:05 UTC
I’ll let @jamie94bc do the honors of clicking merge :) exceptionless/Foundatio#23
Jamie Clarke
@jamie94bc
Feb 11 2016 17:05 UTC
that's cool!
Blake Niemyjski
@niemyjski
Feb 11 2016 17:06 UTC
dang that looks really nice
Jamie Clarke
@jamie94bc
Feb 11 2016 17:07 UTC
queues and jobs - i had partially written my own but the ones in foundatio were a bit more polished!
Blake Niemyjski
@niemyjski
Feb 11 2016 17:08 UTC
:)
Eric J. Smith
@ejsmith
Feb 11 2016 17:08 UTC
that’s great! My hope is that we can get more and more people using them and they will just keep getting better and better.
Jamie Clarke
@jamie94bc
Feb 11 2016 17:08 UTC
  • and cache!
Eric J. Smith
@ejsmith
Feb 11 2016 17:08 UTC
nice
Blake Niemyjski
@niemyjski
Feb 11 2016 17:08 UTC
cache all the things
Jamie Clarke
@jamie94bc
Feb 11 2016 17:09 UTC
and metrics likely soon too, so basically everything except logging which i'm using serilog for!
Blake Niemyjski
@niemyjski
Feb 11 2016 17:09 UTC
so are you using just a mobile website for all your clients or do you have native apps too?
Jamie Clarke
@jamie94bc
Feb 11 2016 17:09 UTC
native apps written using Xamarin - iPhone, Android, Windows 8 and Windows Phone
Eric J. Smith
@ejsmith
Feb 11 2016 17:09 UTC
We need to create a skeleton project for Foundatio that shows how all the things work together.
Blake Niemyjski
@niemyjski
Feb 11 2016 17:10 UTC
kinda have a sample project but it could be way better. was just waiting for coreclr
Eric J. Smith
@ejsmith
Feb 11 2016 17:10 UTC
Wow, that’s awesome.
yeah, we need to keep working on that and updating it.
Jamie Clarke
@jamie94bc
Feb 11 2016 17:11 UTC
well exceptionless is a pretty good sample project - maybe not much of a skeleton though!
Eric J. Smith
@ejsmith
Feb 11 2016 17:11 UTC
so great how you can use in memory implementations locally and then plug in redis or azure or whatever.
yeah, not much of a skeleton. :-)
Jamie Clarke
@jamie94bc
Feb 11 2016 17:11 UTC
damn the powershell gitlink script was wrong
Blake Niemyjski
@niemyjski
Feb 11 2016 17:12 UTC
yeah
just saw that
I wonder if we should stop pushing to nuget directly..
would be nice to send this to myget cause the 4.x release isn’t really ready until we do InMemory and redis implementations no?
Jamie Clarke
@jamie94bc
Feb 11 2016 17:13 UTC
yeah that's true
Blake Niemyjski
@niemyjski
Feb 11 2016 17:13 UTC
always something
Eric J. Smith
@ejsmith
Feb 11 2016 17:30 UTC
I think we just need to not push to master until we are ready to release the nuget package.
Blake Niemyjski
@niemyjski
Feb 11 2016 17:31 UTC
we’ll we merged the pull request
but gitlink is failing so yeah
Eric J. Smith
@ejsmith
Feb 11 2016 17:31 UTC
So what you would do if you wanted to not release that yet is just merge it to the branch we had.
Or create a pull request that points to a branch
Blake Niemyjski
@niemyjski
Feb 11 2016 17:32 UTC
yeah
I got that
Eric J. Smith
@ejsmith
Feb 11 2016 17:32 UTC
But I think commit to master should pop out a nuget package.
Blake Niemyjski
@niemyjski
Feb 11 2016 17:32 UTC
but the code you added that’s not implemented in memory or redis
Eric J. Smith
@ejsmith
Feb 11 2016 17:32 UTC
Want to keep it easy
Blake Niemyjski
@niemyjski
Feb 11 2016 17:32 UTC
should have been into a different branch
yeah I want easy too
Eric J. Smith
@ejsmith
Feb 11 2016 17:33 UTC
Well really it does the same thing it already did now, but yes we need to implement those.
Jamie Clarke
@jamie94bc
Feb 11 2016 17:37 UTC
would you like me to push a fix for the appveyor file?
Blake Niemyjski
@niemyjski
Feb 11 2016 17:38 UTC
  • IF "%APPVEYOR_REPO_BRANCH%"=="master" IF NOT "%APPVEYOR_PULL_REQUEST_NUMBER%" GitLink .\
  • ps: if ((-not $env:APPVEYOR_PULL_REQUEST_NUMBER) -and ($env:APPVEYOR_REPO_BRANCH -eq 'master')) { & "GitLink .\" }
haven’t done batch nested if in a while
but I think that’s the same.. I don’t know if you have to do a condition on the IF NOT
sure
Jamie Clarke
@jamie94bc
Feb 11 2016 17:39 UTC
  • ps: if ((-not $env:APPVEYOR_PULL_REQUEST_NUMBER) -and ($env:APPVEYOR_REPO_BRANCH -eq 'master')) { & "GitLink" .\ }
Blake Niemyjski
@niemyjski
Feb 11 2016 17:39 UTC
we can try it
Blake Niemyjski
@niemyjski
Feb 11 2016 17:46 UTC
commit it and give it a go :)
Jamie Clarke
@jamie94bc
Feb 11 2016 17:47 UTC
done! easier to edit directly on github than it was to mess around with my local repo
Blake Niemyjski
@niemyjski
Feb 11 2016 17:53 UTC
yeah
feel free to work on a branch in the main repo, we do feature/featurename for any feature work
makes life a lot easier :)
Jamie Clarke
@jamie94bc
Feb 11 2016 18:01 UTC
that worked - should be on nuget
can you get appveyor to auto tag when it releases to nuget?
Blake Niemyjski
@niemyjski
Feb 11 2016 18:10 UTC
maybe, never looked into it
I’m sure you can
so a user just ran into an issue where posted form data / cookie had a null name and in our request info look up we threw an exception because dictionary.ContainsKey() threw on a null key lookup
think we should ignore any value that has a null key or replace it with <null>
Blake Niemyjski
@niemyjski
Feb 11 2016 18:18 UTC
fixed
wish you could see all the repo’s activity on the sidebar.
Jamie Clarke
@jamie94bc
Feb 11 2016 18:20 UTC
maybe there should be a group just for Foundatio?
Blake Niemyjski
@niemyjski
Feb 11 2016 18:20 UTC
yeah, but then one more room to check hehe
it doesn’t show activity for all of our repos only the main one
Blake Niemyjski
@niemyjski
Feb 11 2016 18:44 UTC
@frank I just noticed this
public useLocalStorage(): void {
throw 'Must be overridden.';
}
wouldn’t we just see if storage is available and if it is use it?
ah I see it
doing it on the prototype
almost think it shouldn’t do anything so we never blow up
thoughts?
Blake Niemyjski
@niemyjski
Feb 11 2016 18:52 UTC
I’m fine with the way it is
Blake Niemyjski
@niemyjski
Feb 11 2016 20:15 UTC
@ejsmith @adamzolotarev got back to us and had a question on the stacking key
did you want @stack
exceptionless/Exceptionless#187
Eric J. Smith
@ejsmith
Feb 11 2016 20:38 UTC
I am thinking that seems nicer than some really long @manual_stacking_key
@stack still makes sense
@niemyjski
Blake Niemyjski
@niemyjski
Feb 11 2016 20:42 UTC
yeah
idk stacking_key
Eric J. Smith
@ejsmith
Feb 11 2016 20:42 UTC
So you agree then?
Blake Niemyjski
@niemyjski
Feb 11 2016 20:42 UTC
either is fine we can change what it looks like in the UI
Eric J. Smith
@ejsmith
Feb 11 2016 20:42 UTC
@stack is pretty self explanatory.
Blake Niemyjski
@niemyjski
Feb 11 2016 20:42 UTC
yeah
Eric J. Smith
@ejsmith
Feb 11 2016 20:42 UTC
I want it to be nice for manual usagee.
Blake Niemyjski
@niemyjski
Feb 11 2016 20:42 UTC
unless you think that’s the stack id
Eric J. Smith
@ejsmith
Feb 11 2016 20:42 UTC
like CURL
Blake Niemyjski
@niemyjski
Feb 11 2016 20:42 UTC
yeah
is is the method name going to change
guess it would stay the same
Eric J. Smith
@ejsmith
Feb 11 2016 20:43 UTC
no
Blake Niemyjski
@niemyjski
Feb 11 2016 20:43 UTC
        public const string ManualStackingKey = "@stack";
Eric J. Smith
@ejsmith
Feb 11 2016 20:44 UTC
so if you add it in CURL then you have to manually add it and know what you are adding.
Blake Niemyjski
@niemyjski
Feb 11 2016 20:44 UTC
yeah
Eric J. Smith
@ejsmith
Feb 11 2016 20:44 UTC
if you do it in the client, it should be self-explanatory
and I think SetManualStackingKey is pretty self-explanatory.
Blake Niemyjski
@niemyjski
Feb 11 2016 20:44 UTC
ok
Blake Niemyjski
@niemyjski
Feb 11 2016 21:05 UTC
@fr
@frankebersoll looks like settings are broken when using local storage.
thinking if we have the base useLocalStorage() method not throw an exception and instead calls applySavedServerSettings()
we can have the prototype call super or something
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:07 UTC
hey @niemyjski
Blake Niemyjski
@niemyjski
Feb 11 2016 21:08 UTC
hey
want me to start a teamviewer?
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:08 UTC
base useLocalStorage could do nothing instead of throwing. but will this ever happen?
i’m on my way to bed already :-(
Blake Niemyjski
@niemyjski
Feb 11 2016 21:08 UTC
guess if you write your own
that’s fine
if we exclude it and have it be a noop
thats bytes saved
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:09 UTC
okay, so just make the method empty?
or put it on the prototype from the entry js files?
what do you mean with „settings are broken“ when using local storage?
i haven’t tested settings, only events
Blake Niemyjski
@niemyjski
Feb 11 2016 21:11 UTC
Screen Shot 2016-02-11 at 3.11.19 PM.png
anyone know what keys to press for that on osx
I could never figure out what dang key that is
so like we have saved configuration settings (from the server)
when we load local storage.. it should read those :)
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:12 UTC
what key?
Blake Niemyjski
@niemyjski
Feb 11 2016 21:12 UTC
look at the screenshot
the one before return
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:12 UTC
alt + Enter?
Blake Niemyjski
@niemyjski
Feb 11 2016 21:12 UTC
\
is it alt
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:12 UTC
alt! lol
Blake Niemyjski
@niemyjski
Feb 11 2016 21:13 UTC
sigh
I have the new apple keyboard and that symbol isn’t anywhere
and I’m like WTF key is that
Thanks! just got 5$ out of my keybaord
ahh
finally
haha
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:13 UTC
lol
Blake Niemyjski
@niemyjski
Feb 11 2016 21:13 UTC
<— cheif nub
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:14 UTC
the sign should resemble a „switch"
so, alternate
Blake Niemyjski
@niemyjski
Feb 11 2016 21:14 UTC
ah
makes sense
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:15 UTC
but thinking about it, it seems that our storage limit (max entries) is applied to all entries, regardless of its type
Blake Niemyjski
@niemyjski
Feb 11 2016 21:15 UTC
any other symbols I should know after using a mac for 2 years
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:15 UTC
so, events would overwrite settings if the limit is reached
Blake Niemyjski
@niemyjski
Feb 11 2016 21:15 UTC
lol
yeah
that seems bad
but I can live with that
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:15 UTC
that should apply to all implementations, including .net
Blake Niemyjski
@niemyjski
Feb 11 2016 21:16 UTC
luckily those settings will be in memory
so will just have to get them next runtime
kinda stinks
could save them on exit
or fix the root issue
so I think I fixed this :)
let me see
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:17 UTC
what do you think about how the KeyValueStorage is implemented
Blake Niemyjski
@niemyjski
Feb 11 2016 21:17 UTC
so I noticed for node you save all events to the root directory \exceptionless
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:18 UTC
yes, that could be customized somehow
Blake Niemyjski
@niemyjski
Feb 11 2016 21:18 UTC
does node have anything like tmp storage paths for apps? if so I wonder if we should store events in \tmp??\exceptionless
I think it’s good
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:18 UTC
i don’t think there is a platform independent way of getting temporary storage
we could add a dot prefix!
Blake Niemyjski
@niemyjski
Feb 11 2016 21:19 UTC
yeah
woot
Blake Niemyjski
@niemyjski
Feb 11 2016 21:20 UTC
we could use that but should we?
idk
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:21 UTC
i rather have it in the application directory. nobody cleans up tmp
Blake Niemyjski
@niemyjski
Feb 11 2016 21:21 UTC
yeah
I think I’d want that too
btw, did you see my comment on get date?
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:23 UTC
i made the storage „key agnostic"
if we know that we always have timestamp information in there, it would make the implementation easier
Blake Niemyjski
@niemyjski
Feb 11 2016 21:24 UTC
yeah
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:25 UTC
right now, i add an own timestamp (which is a zero-based integer)
Blake Niemyjski
@niemyjski
Feb 11 2016 21:25 UTC
I get that, just wasn’t sure if we wanted to try and parse it or if it would be more work than we wanted to do
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:25 UTC
that wouldn’t be needed then
Blake Niemyjski
@niemyjski
Feb 11 2016 21:25 UTC
(bigger js size + more work)
ok
so
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:25 UTC
so we would actually save a little
Blake Niemyjski
@niemyjski
Feb 11 2016 21:25 UTC
I think all my code is working properly
but I notice and issue with the node filesystem and I’m not sure if it’s an issue or not
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:26 UTC
what did you notice?
Blake Niemyjski
@niemyjski
Feb 11 2016 21:26 UTC
I ran the code task to debug the express app and it creates the exceptionless folder at the root of the .exceptionless instead of \example\express.exceptionless
wonder if that’s just because of my working diretory>?
express\.exceptionless
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:27 UTC
that’s entirely possible
it should be relative to the entry point, right?
Blake Niemyjski
@niemyjski
Feb 11 2016 21:27 UTC
yeah I’d think it’d be where my app exists and not some random folder
but I’m not 100% sure how it’s launching it
{
"name": "Express",
"request": "launch",
"type": "node",
"program": "example/express/app.js",
"runtimeArgs": [
"--nolazy"
],
"sourceMaps": true,
"outDir": "dist"
},
yeah
so I’m running from root
guess the only issue is if you do this
\blake > node \wwwroot\my-app-1\app.js
it’s going to create it in my user folder
is that to be expected as a node developer (I don’t know very much about node.. I don’t write node apps for a living).
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:30 UTC
we make it independent of working directory
i would expect it in the app dir
Blake Niemyjski
@niemyjski
Feb 11 2016 21:31 UTC
curious is appended onto the files
is that __3
is that just the insert number?
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:31 UTC
that is the timestamp that is used to keep the order
that’s what i mean could be made easier if we just use the timestamp that is already encoded in the keys
  • [ ] Use encoding of timestamp in keys
  • [ ] Default path for NodeFileStorage: .express relative to the application root path
  • [ ] Customizable path for NodeFileStorage
  • [ ] Submit existing events on startup
let me see what i can do tomorrow :-)
Blake Niemyjski
@niemyjski
Feb 11 2016 21:34 UTC
exceptionless/Exceptionless.JavaScript@fc91169
yeah
guess you could just call process queue after you call useIsolatedStorage.. the only problem with that is what if you are still configuring the client?
guess we should just wait until they submit an event? or what
once you feel it’s good ship it. Looks good from the one over I gave it
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:35 UTC
shipping will generate feedback, hopefully :-)
Blake Niemyjski
@niemyjski
Feb 11 2016 21:35 UTC
yeah
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:36 UTC
do you see how many are using that?
Blake Niemyjski
@niemyjski
Feb 11 2016 21:36 UTC
the node client?
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:36 UTC
yes
do you have stats on that?
Blake Niemyjski
@niemyjski
Feb 11 2016 21:36 UTC
nope, but we will when I get custom dashboards done
we really should update the user agent for node...
right now js and node submit the same user agent
so no way to tell them apart
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:36 UTC
and how many are that?
Blake Niemyjski
@niemyjski
Feb 11 2016 21:36 UTC
idk, never ran the metric
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:37 UTC
:-D
Blake Niemyjski
@niemyjski
Feb 11 2016 21:37 UTC
so many things to do in a day
:(
should do that
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:37 UTC
okay, at least we have some downloads in NPM
Blake Niemyjski
@niemyjski
Feb 11 2016 21:37 UTC
here let me look
just found a downside of my new apt
my ip keeps changing so I gotta update acl lists :(
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:41 UTC
acl lists?
Blake Niemyjski
@niemyjski
Feb 11 2016 21:42 UTC
26% of our storage is logs, 52% errors
99% are unfixed
people better get cracking
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:42 UTC
Oh
Blake Niemyjski
@niemyjski
Feb 11 2016 21:42 UTC
that’s not filtered to errors tho
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:46 UTC
I would try changing the signature of the storage methods
Blake Niemyjski
@niemyjski
Feb 11 2016 21:46 UTC
eh the cluster is turning now
what did you make me do
haha
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:46 UTC
so you only put the type in there
?
... The type in there and it generates the timestamp itself
Blake Niemyjski
@niemyjski
Feb 11 2016 21:47 UTC
what do you mean
sorry
focusing on charts
lol
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:48 UTC
so you wouldnt create the key outside (ex-q-12345) but just put "ex" in there or so
so you have the object and a namespace
Blake Niemyjski
@niemyjski
Feb 11 2016 21:49 UTC
yeah I’d always prefix it
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:49 UTC
the storage manages the actual key
Then i can remove the __3 stuff
Blake Niemyjski
@niemyjski
Feb 11 2016 21:50 UTC
@ejsmith looks like we anaylize the user agent and don’t have a raw field so it’s impossible for us to get a report on user agents that submitted to us.. but that user agents includes request info… We should store the submission user agent some place and index it raw. so we can get reports on that
yeah
that would be good
we should never touch anything that’s not prefixed with our key
Eric J. Smith
@ejsmith
Feb 11 2016 21:51 UTC
Sounds good.
Blake Niemyjski
@niemyjski
Feb 11 2016 21:52 UTC
exceptionless/Exceptionless#192
@frankebersoll I think that’s a good plan...
we could do ex-settings
or something :)
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:53 UTC
yeah, and we could apply max items namespace-wide
Blake Niemyjski
@niemyjski
Feb 11 2016 21:54 UTC
yeah
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:54 UTC
That solves this.
Blake Niemyjski
@niemyjski
Feb 11 2016 21:54 UTC
great work you all are doing
Eric J. Smith
@ejsmith
Feb 11 2016 21:54 UTC
So I am going to write a redis metrics client.
Librato is driving me nuts.
I just want a simple view of my stats.
They are charging us $280 a month.
Blake Niemyjski
@niemyjski
Feb 11 2016 21:55 UTC
jesus
for real
I didnt think it was that much
Eric J. Smith
@ejsmith
Feb 11 2016 21:55 UTC
no exceptionless
my other app
exceptionless is only like $20
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:56 UTC
[ ] Change node.js user agent
Blake Niemyjski
@niemyjski
Feb 11 2016 21:56 UTC
:)
Frank Ebersoll
@frankebersoll
Feb 11 2016 21:56 UTC
What is this other app?
Do I need that?
Eric J. Smith
@ejsmith
Feb 11 2016 21:57 UTC
I am working on a CRM app that lets you integrate all of the various SaaS products out there and lets you get a holistic view of your contacts.
Blake Niemyjski
@niemyjski
Feb 11 2016 21:59 UTC
Sigh, feels like today I’ve been running around with a head cut off.. Got a ton done but not my own work item goal :\
Were really close to pushing out new js and .net clients with stacking / and local storage
@srijken is there anything we need to do for deduping or are we letting that bake even more?
Frank Ebersoll
@frankebersoll
Feb 11 2016 22:00 UTC
@ejsmith that looks useful, but I dont think our company is in the target group for it
Blake Niemyjski
@niemyjski
Feb 11 2016 22:01 UTC
Need to work on getting manual stacking out server side and help with raygun support.
Eric J. Smith
@ejsmith
Feb 11 2016 22:02 UTC
do you guys use any saas products like stripe, mailchimp, constantcontact, desk, zendesk, hubspot.
Frank Ebersoll
@frankebersoll
Feb 11 2016 22:03 UTC
I worry we dont. We use Exchange and... Microsoft Dynamics? Lol
Eric J. Smith
@ejsmith
Feb 11 2016 22:03 UTC
haha
ok
nevermind then ;-)
Frank Ebersoll
@frankebersoll
Feb 11 2016 22:03 UTC
and I would need to provide a german localization
or do you have that?
Eric J. Smith
@ejsmith
Feb 11 2016 22:03 UTC
nope. :-)
Blake Niemyjski
@niemyjski
Feb 11 2016 22:04 UTC
oh crap… thanks frank...
Eric J. Smith
@ejsmith
Feb 11 2016 22:04 UTC
Damn English speaking people thinking that English is the only language. ;-)
Frank Ebersoll
@frankebersoll
Feb 11 2016 22:04 UTC
Our sales guy would not approve
Blake Niemyjski
@niemyjski
Feb 11 2016 22:04 UTC
we came across a localization bug with our .net client and server yesterday.. exceptionless/Exceptionless.Net@0a4e07e
Do we need to do something for js?
basically they were getting 90,234,17,00 for lat,long and it has to be 90.234,17.00
:)
https://github.com/exceptionless/Exceptionless.JavaScript/blob/master/src/EventBuilder.ts#L82 wondering if we need to do anything for js number formatting
can you try that on your system and let me know what it outputs
Frank Ebersoll
@frankebersoll
Feb 11 2016 22:06 UTC
InvariantCulture?
Blake Niemyjski
@niemyjski
Feb 11 2016 22:06 UTC
yeah
well we know the exact format it has to be in
Frank Ebersoll
@frankebersoll
Feb 11 2016 22:08 UTC
[ ] Check invariant culture for coordinates
See you tomorrow!
Blake Niemyjski
@niemyjski
Feb 11 2016 22:10 UTC
good night!
Frank Ebersoll
@frankebersoll
Feb 11 2016 22:10 UTC
Good night
Eric J. Smith
@ejsmith
Feb 11 2016 22:10 UTC
good night!
Blake Niemyjski
@niemyjski
Feb 11 2016 22:10 UTC
doesn’t work very good
haha wanted to see what it would output
Eric J. Smith
@ejsmith
Feb 11 2016 22:11 UTC
yeah, blah.. :-)
Blake Niemyjski
@niemyjski
Feb 11 2016 22:48 UTC
sigh
love it when vs2015 just crashes
with 3 unsaved files
Eric J. Smith
@ejsmith
Feb 11 2016 23:03 UTC
it normally does a good job of recovering them
even if it is a POS and crashed
:-)
Blake Niemyjski
@niemyjski
Feb 11 2016 23:34 UTC
yeah
it didn't
Eric J. Smith
@ejsmith
Feb 11 2016 23:44 UTC
well that sucks.
I just added the redismetricsclient
Eric J. Smith
@ejsmith
Feb 11 2016 23:49 UTC
gonna work on an API endpoint now that spits out stats… then we can use that for Exceptionless as well.
@niemyjski
Blake Niemyjski
@niemyjski
Feb 11 2016 23:54 UTC
cool
:)
exceptionless/Exceptionless@af1c01a :)
def WIP, don’t know if I like the results models or how rules are being applied
I don’t think rules should even be in there at all. but we can talk about that later tonight