Comments (6)
I know I haven't commited any code for anyone to look at, but I want it to be a bit more finished and tested before I let people see. Right now it's not organized, not documented and not pretty.
I've tested the memory consumption of uvicorn with and without the async Django-GUID middleware(as the only middleware). It does not matter if I send 1000 requests or 100000, the memory consumption difference is always about 0.13MB. There is no memory leak, only a bit more memory consumption.
# 100k requests with Django-GUID async supported middleware
# start memory
353408K
# 100k requests later
670792K
# 100k requests _without_ Django-GUID async supported middleware
# start memory
353400K
# 100k requests later
670924K
EDIT: Forgot to write that a GUID is 16 byte, so 100k requests would be 1.6 MB - which is 1.3MB more than the actual memory consumption.
from django-guid.
I did create a asgi
branch, wrote a simple asgi application and started testing out the asgiref
api. How ever, it didn't behave as I expected and while there is a readme, the API isn't really documented or got any examples. That being said, I'll continue looking into this soon as Django 3.1 is getting closer.
from django-guid.
I've found the solution for this. Will be implementing this the following week.
from django-guid.
Sorry for few updates on this one, but I can assure that it's being worked on. There's been a few obstacles, but design, pattern and implementation is about to be finished.
I've also been in touch with Andrew Godwin regarding a potential memory leak.
from django-guid.
Busy weeks. Getting there though.
Sync middleware works as expected, all tests pass. Looking into how to properly write tests for the async middleware now. Release should not be too far away. :)
from django-guid.
Coverage is at 100%, docs are almost done.
from django-guid.
Related Issues (20)
- [BUG] Can't add/override HTTP headers in other middlewares HOT 4
- IGNORE_URLS regex support HOT 2
- BSD-3-Clause, not BSD-4-Clause HOT 5
- Support Django 5 HOT 2
- Integration with Dramatiq HOT 1
- Add the option to send the GUID/Correlation-ID as an outgoing header
- Change from f'strings' to %strings
- Pass the GUID of a request to the Celery workers HOT 4
- Flask support HOT 3
- Elastic APM Integration HOT 1
- IGNORE_URL setting to opt-out for some URLs HOT 5
- Docs for Celery Integration and release HOT 1
- [BUG] - Missing CHANGELOG.rst from packaged tar.gz HOT 9
- Port celery support for django-guid 2.2 HOT 8
- Best way to pass on the correlation-id to child threads? HOT 8
- Full UUID as Text HOT 3
- Provide error page views that add the guid to the HTML output HOT 5
- v4 planning HOT 3
- [BUG] Overriding of "Access-Control-Expose-Headers" when HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from django-guid.