Commit aa95895
authored
Fix sdk/log record attr value limit (#6032)
Fix #6004
Copy of #5997
### Correctness
From the [OTel
specification](https://github.com/open-telemetry/opentelemetry-specification/blob/88bffeac48aa5eb37ac8044e931af63a0b55fe00/specification/common/README.md#attribute-limits):
> - set an attribute value length limit such that for each attribute
value:
> - if it is a string, if it exceeds that limit (counting any character
in it as 1), SDKs MUST truncate that value, so that its length is at
most equal to the limit...
Our current implementation truncates on number of bytes not characters.
Unit tests are added/updated to validate this fix and prevent
regressions.
### Performance
```
goos: linux
goarch: amd64
pkg: go.opentelemetry.io/otel/sdk/log
cpu: Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
โ commit-e9c7aac2(old).txt โ commit-878043b9(new).txt โ
โ sec/op โ sec/op vs base โ
Truncate/Unlimited-8 0.8323n ยฑ 3% 0.7367n ยฑ 3% -11.49% (p=0.000 n=10)
Truncate/Zero-8 1.923n ยฑ 32% 1.359n ยฑ 2% -29.34% (p=0.000 n=10)
Truncate/Short-8 14.6050n ยฑ 4% 0.8785n ยฑ 1% -93.98% (p=0.000 n=10)
Truncate/ASCII-8 8.205n ยฑ 2% 3.601n ยฑ 7% -56.12% (p=0.000 n=10)
Truncate/ValidUTF-8-8 11.335n ยฑ 1% 7.206n ยฑ 1% -36.43% (p=0.000 n=10)
Truncate/InvalidUTF-8-8 58.26n ยฑ 1% 36.61n ยฑ 1% -37.17% (p=0.000 n=10)
Truncate/MixedUTF-8-8 81.16n ยฑ 1% 52.30n ยฑ 1% -35.56% (p=0.000 n=10)
geomean 10.04n 4.601n -54.16%
โ commit-e9c7aac2(old).txt โ commit-878043b9(new).txt โ
โ B/op โ B/op vs base โ
Truncate/Unlimited-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/Zero-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/Short-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/ASCII-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/ValidUTF-8-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/InvalidUTF-8-8 16.00 ยฑ 0% 16.00 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/MixedUTF-8-8 32.00 ยฑ 0% 32.00 ยฑ 0% ~ (p=1.000 n=10) ยน
geomean ยฒ +0.00% ยฒ
ยน all samples are equal
ยฒ summaries must be >0 to compute geomean
โ commit-e9c7aac2(old).txt โ commit-878043b9(new).txt โ
โ allocs/op โ allocs/op vs base โ
Truncate/Unlimited-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/Zero-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/Short-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/ASCII-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/ValidUTF-8-8 0.000 ยฑ 0% 0.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/InvalidUTF-8-8 1.000 ยฑ 0% 1.000 ยฑ 0% ~ (p=1.000 n=10) ยน
Truncate/MixedUTF-8-8 1.000 ยฑ 0% 1.000 ยฑ 0% ~ (p=1.000 n=10) ยน
geomean ยฒ +0.00% ยฒ
ยน all samples are equal
ยฒ summaries must be >0 to compute geomean
```1 parent 58fdf2a commit aa95895
3 files changed
+188
-76
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| 36 | + | |
36 | 37 | | |
37 | 38 | | |
38 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
406 | 406 | | |
407 | 407 | | |
408 | 408 | | |
409 | | - | |
| 409 | + | |
410 | 410 | | |
411 | 411 | | |
412 | 412 | | |
| |||
427 | 427 | | |
428 | 428 | | |
429 | 429 | | |
430 | | - | |
431 | | - | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
432 | 433 | | |
433 | | - | |
434 | | - | |
435 | | - | |
| 434 | + | |
436 | 435 | | |
437 | | - | |
438 | | - | |
439 | | - | |
440 | | - | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
441 | 451 | | |
442 | 452 | | |
443 | | - | |
444 | | - | |
445 | | - | |
446 | | - | |
447 | | - | |
448 | | - | |
449 | | - | |
450 | | - | |
451 | | - | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
452 | 461 | | |
453 | | - | |
454 | | - | |
455 | | - | |
456 | | - | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
457 | 472 | | |
458 | | - | |
459 | 473 | | |
460 | 474 | | |
461 | | - | |
462 | | - | |
463 | | - | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
464 | 478 | | |
465 | | - | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
466 | 504 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
570 | 570 | | |
571 | 571 | | |
572 | 572 | | |
573 | | - | |
574 | | - | |
575 | | - | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
576 | 582 | | |
| 583 | + | |
577 | 584 | | |
578 | | - | |
579 | | - | |
580 | | - | |
581 | | - | |
582 | | - | |
583 | | - | |
584 | | - | |
585 | | - | |
586 | | - | |
587 | | - | |
588 | | - | |
589 | | - | |
590 | | - | |
591 | | - | |
592 | | - | |
593 | | - | |
594 | | - | |
595 | | - | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
596 | 589 | | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
597 | 593 | | |
598 | | - | |
599 | | - | |
600 | | - | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
601 | 600 | | |
| 601 | + | |
| 602 | + | |
602 | 603 | | |
603 | | - | |
604 | | - | |
605 | | - | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
606 | 610 | | |
| 611 | + | |
| 612 | + | |
607 | 613 | | |
608 | | - | |
609 | | - | |
610 | | - | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
| 622 | + | |
611 | 623 | | |
| 624 | + | |
| 625 | + | |
612 | 626 | | |
613 | | - | |
614 | | - | |
615 | | - | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
616 | 640 | | |
| 641 | + | |
| 642 | + | |
617 | 643 | | |
618 | | - | |
619 | | - | |
620 | | - | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
621 | 656 | | |
| 657 | + | |
| 658 | + | |
622 | 659 | | |
623 | | - | |
624 | | - | |
625 | | - | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
626 | 664 | | |
| 665 | + | |
| 666 | + | |
627 | 667 | | |
628 | | - | |
629 | | - | |
630 | | - | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
631 | 673 | | |
632 | 674 | | |
633 | 675 | | |
634 | | - | |
635 | | - | |
636 | | - | |
637 | | - | |
638 | | - | |
639 | | - | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
| 684 | + | |
| 685 | + | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
| 690 | + | |
| 691 | + | |
| 692 | + | |
| 693 | + | |
| 694 | + | |
| 695 | + | |
| 696 | + | |
| 697 | + | |
| 698 | + | |
| 699 | + | |
| 700 | + | |
| 701 | + | |
| 702 | + | |
| 703 | + | |
| 704 | + | |
| 705 | + | |
640 | 706 | | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
641 | 714 | | |
642 | 715 | | |
643 | 716 | | |
| |||
0 commit comments